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代表你当前选中页面的位置编号

 程序猿必读

转载于:https://www.cnblogs.com/longzhongren/p/6075037.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值