- 什么是ViewPager
VIewPager是安卓3.0之后提供的新特性,继承自ViewGroup,专门用来实现左右滑动切换View的效果。如果想向下兼容需要
android-support-v4.jar这个包的支持。
ViewPager与ListView的常用控件的实现方式差不多,步骤如下:
步骤:声明实例化控件->设置数据源->配置适配器->绑定适配器->(添加监听)
- 声明控件
使用该类时,需要在BuildPath中加入“android-support-v4.jar”
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
- 数据源
数据源是一个存放着View对象的集合,实现方式有2种:
1、通过XML配置文件,把对应的页面设置好,然后把xml配置文件转换成view对象并载入这个集合里
2、通过代码动态生成,把生成的View对象载入到集合里。
- 适配器
需要重写一个类继承PagerAdapter类,并重写相对应的方法
@Override
public int getCount() {//返回页面数量
return 0;
} @Override
public boolean isViewFromObject(View arg0, Object arg1) {//判断是否是view对象
return false;
} @Override
public Object instantiateItem(View container, int position) {//实例化一个页面
return super.instantiateItem(container, position);
} @Override
public void destroyItem(View container, int position, Object object) {//销毁一个页面
super.destroyItem(container, position, object);
}
- 事件监听
ViewPager在处理滑动事件时需要用到OnPageChangeListener,这个接口需要实现三个方法
@Override //当页面跳转完后调用,position为当前选中页面的position
public void onPageSelected(int position) {
return position;
} @Override //当页面在滑动时会调用此方法,arg0为当前页面,arg1为当前页面偏移百分比,arg2为当前页面偏移的像素位置
public void onPageScrolled(int arg0, float arg1, int arg2) { } @Override //状态改变时调用,有三种状态(0,1,2),0表示什么都没做,1表示正在滑动,2表示滑动完毕了
public void onPageScrollStateChanged(int arg0) {
}