Android之ViewPager组件实现左右滑动View

时间:2023-03-10 00:35:05
Android之ViewPager组件实现左右滑动View
  • 什么是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) {
}

程序猿必读