如果Android sdk版本低于3.0,就要导入android.support.v4包,不低于3.0就不用了
在布局中要这样引用来使用
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
然后通过findviewbyid找到viewpager
ViewPager viewpager = (ViewPager) findViewById(R.id.viewpager);
因为viewpager滑动需要页面显示,所以要新建布局页面,在activity中通过layoutinflate找到布局
View page1 = getLayoutInflater().inflate(R.layout.page1, null);
View page2 = getLayoutInflater().inflate(R.layout.page2, null);
View page3 = getLayoutInflater().inflate(R.layout.page3, null);
然后定义一个list集合,把这几个布局添加进集合
List<View> list = new ArrayList<View>();
//加入集合
list.add(page1);
list.add(page2);
list.add(page3);
由于viewpager是通过适配器把布局添加的,这里定义一个类实现PagerAdapter,必须实现四个方法
private class MyPagerAdapter extends PagerAdapter{
private List<View> list;
public MyPagerAdapter(List<View> list) {
super();
this.list = list;
}
/**
* 页数
*/
@Override
public int getCount() {
// TODO Auto-generated method stub
return list.size();
}
/**
* 判断当前要实现的页面是不是需要显示的页面
*/
@Override
public boolean isViewFromObject(View view, Object object) {
// TODO Auto-generated method stub
return view == object;
}
/**
* 实例化页面
*/
@Override
public Object instantiateItem(ViewGroup container, int position) {
//获取要显示的页
View view = list.get(position);
//放置在容器里面
container.addView(view, position);
return view;
}
/**
* 移除页面
*/
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
// TODO Auto-generated method stub
// super.destroyItem(container, position, object);//这行代码要去掉
container.removeViewAt(position);
}
}
}
最后设置适配器就可以了
viewpager.setAdapter(new MyPagerAdapter(list));