Android 页面滑动

时间:2023-03-09 20:40:14
Android 页面滑动
1、PagerAdapter适配器
  PagerAdapter主要是viewpager的适配器,而viewPager是android.support.v4扩展中新添加的一个强大控件,可以实现控件的滑动效果,
继承pageradapter,至少必须要重写以下四个方法:
  • instantiateItem(ViewGroup, int)
  • destroyItem(ViewGroup, int, Object)
  • getCount()
  • isViewFromObject(View, Object)
具体含义以及使用如下:
private class ViewPagerAdapter extends PagerAdapter {  

        // 获取要滑动的控件的数量,在这里我们以滑动的广告栏为例,那么这里就应该是展示的广告图片的ImageView数量
@Override
public int getCount() {
return images.size();
} // 来判断显示的是否是同一张图片,这里我们将两个参数相比较返回即可
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == arg1;
} // PagerAdapter只缓存三张要显示的图片,如果滑动的图片超出了缓存的范围,就会调用这个方法,将图片销毁
@Override
public void destroyItem(ViewGroup view, int position, Object object) {
view.removeView(images.get(position));
} // 当要显示的图片可以进行缓存的时候,会调用这个方法进行显示图片的初始化,我们将要显示的ImageView加入到ViewGroup中,然后作为返回值返回即可
@Override
public Object instantiateItem(ViewGroup view, int position) {
view.addView(images.get(position));
return images.get(position);
}
}
2、OnPageChangeListener接口
  OnPageChangeListener是ViewPager在处理滑动事件的时候需要用到的,这个接口需要实现三个方法:
  • onPageScrollStateChanged(int state)
        此方法是在状态改变时调用的,有三种状态(0,1,2)。当arg0=1时表示正在滑动,arg0=2时表示滑动完毕,arg0=3表示什么都没做。
当页面开始滑动时,三种状态的变化顺序是(1,2,0)
  • onPageScrolled(int position,float positionOffset,int positionOffsetPixels)
        当页面滑动的时候会调用此方法,直到滑动完毕。这三个参数的含义分别为:
  1. position:当前页面,及滑动的页面
  2. positionOffset:当前页面滑动的比例,如果页面向右翻动,则值不断变大,最后在趋近1的时候变为0.如果向左翻动,则不断变小,最后变为0
  3. positionOffsetPixels:当前页面滑动像素,变化情况和positionOffset一致
  • onPageSelected(int position)
        此方法是页面跳转完后调用,position代表你当前选中页面的位置编号

程序猿必读