使用之前我们先创建三个布局文件 (first_layout, second_ layout, third_layout)
在三个布局文件里面添加文字就ok了,主要用来区分三个页面。
1.ViewPager是一个组件
所以第一步就是在布局文件添加ViewPager组件
<android.support.v4.view.ViewPager android:id="@+id/view_pager" android:layout_width="match_parent" android:layout_height="wrap_content"/>
2.因为ViewPager是一个组件,所以在主程序中实例化ViewPager组件
ViewPager mViewPager = (ViewPager) findViewById(R.id.view_pager);
3.前面我们创建了三个布局文件,现在我们需要将这三个文件载入到LayoutInflater中
LayoutInflater inflater = getLayoutInflater(); View firstView = inflater.inflate(R.layout.first_layout, null); View secondView = inflater.inflate(R.layout.second_layout, null); View thirdView = inflater.inflate(R.layout.third_layout, null);
4.实例一个List<View>来存储三个view (firstView, secondView, thirdView)
List<View> mViewList = new ArrayList<>(); mViewList.add(firstView); mViewList.add(secondView); mViewList.add(thirdView);
5.ViewPager还需要配合PagerAdapter来使用,创建myPagerAdapter类
public class myPageAdapter extends PagerAdapter { private List<View> mViewList; public myPageAdapter(List<View> viewList) { mViewList = viewList; } @Override public int getCount() { return mViewList.size(); } @Override public boolean isViewFromObject(View view, Object object) { return view == object; } @Override public void destroyItem(ViewGroup container, int position, Object object) { //super.destroyItem(container, position, object); container.removeView(mViewList.get(position)); } @Override public Object instantiateItem(ViewGroup container, int position) { //return super.instantiateItem(container, position); container.addView(mViewList.get(position)); return mViewList.get(position); } }
最后在主程序在实例myPagerAdapter类并传入mViewList集合,再设置Adapter适配器
myPageAdapter adapter = new myPageAdapter(mViewList); mViewPager.setAdapter(adapter);
emmm.....
可以run了