现在的许多应用的界面都使用ViewPager+Fragment这种框架来做用户的主界面,比如微信6.0等来实现页面的滑动,看一下代码。
(一). 创建Fragment样板,用于显示页面
public class TabFragment extends Fragment {
private String mTitle = "default";
public TabFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
//用于显示Fragment的页面标题
if (getArguments() != null) {
mTitle = getArguments().getString("title");
}
//动态创建TextView
TextView textview = new TextView(getActivity());
textview.setTextSize(20);
textview.setTextColor(Color.parseColor("#000000"));
textview.setGravity(Gravity.CENTER);
textview.setText(mTitle);
return textview;
}
}
(二) .在布局文件中加入V4包的ViewPager
<span style="font-size:18px;"><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" >
</android.support.v4.view.ViewPager>
</LinearLayout></span>
这里有一个需要注意的是,这里使用V4包中的ViewPager,那么对应的其他地方用到的ViewPager也应该导入V4包中的,如果不一致的话会报错
(三) .继承于FragmentPagerAdapter适配器的编写
import java.util.List;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
/**
* @Title: MyFragmentAdapter.java
* @author FANG
* @Description: TODO
* @date 2015-2-5 上午10:07:03
*/
public class MyFragmentAdapter extends FragmentPagerAdapter {
//需要显示页面Fragment的列表
private List<Fragment> mTabs;
public MyFragmentAdapter(FragmentManager fm) {
super(fm);
}
//构造函数,接收FragmentManager管理器对象,以及Fragment的列表
public MyFragmentAdapter(FragmentManager fm,List<Fragment> mTabs){
super(fm);
this.mTabs = mTabs;
}
@Override
public Fragment getItem(int arg0) {
// 返回当前页
return mTabs.get(arg0);
}
@Override
public int getCount() {
// 获取显示页面的总数
return mTabs.size();
}
}
(四) .主界面的编写
1.首先获取ViewPager对象并实例,这个是必须的
2.使用循环的形式创建多个标题不同的Fragment,并存放到List中去
//根据标题的个数,创建对应的Fragment
for (String mTitle : mTitleArr) {
TabFragment mTabFragment = new TabFragment();
Bundle bundle = new Bundle();
bundle.putString("title", mTitle);
mTabFragment.setArguments(bundle);
mTab.add(mTabFragment);
}
3.实例化适配器,传递相应的参数
mAdapter = new MyFragmentAdapter(getSupportFragmentManager(), mTab);
4.设置ViewPager对应的适配器
mViewPager.setAdapter(mAdapter);
至此,一个可以滑动的页面以及建立起来了,来看一下实际效果吧
下篇在原有的这种效果下面加上几个对应的菜单按钮
源码下载:源码下载
另外这个是本人的微信公众号,大伙可扫描关注,会定时发送一些文章以及开发技巧给到大家