ViewPager的onPageChangeListene监听事件处理

转自:http://blog.csdn.net/xipiaoyouzi/article/details/12121131

首先ViewPager在处理滑动事件的时候要用到OnPageChangeListener

OnPageChangeListener这个接口需要实现三个方法:(onPageScrollStateChanged,onPageScrolled ,onPageSelected)


onPageScrollStateChanged(int arg0)   ,此方法是在状态改变的时候调用,其中arg0这个参数

有三种状态(0,1,2)。arg0 ==1的时辰默示正在滑动,arg0==2的时辰默示滑动完毕了,arg0==0的时辰默示什么都没做。

当页面开始滑动的时候,三种状态的变化顺序为(1,2,0),演示如下:

当viewPager状态改变时候的代码块:

https://img-my.csdn.net/uploads/201304/16/1366083605_9502.png

打印结果:

https://img-my.csdn.net/uploads/201304/16/1366083785_1088.png

 onPageScrolled(int arg0,float arg1,int arg2)    ,当页面在滑动的时候会调用此方法,在滑动被停止之前,此方法回一直得到

调用。其中三个参数的含义分别为:

arg0 :当前页面,及你点击滑动的页面

arg1:当前页面偏移的百分比

arg2:当前页面偏移的像素位置   

(参见官网:http://docs.eoeandroid.com/reference/android/support/v4/view/ViewPager.OnPageChangeListener.html#onPageScrolled(int, float, int))

演示如下:

页面滚动时侯代码:

https://img-my.csdn.net/uploads/201304/16/1366084226_5095.png

日志打印:

https://img-my.csdn.net/uploads/201304/16/1366084267_6134.png

onPageSelected(int arg0) :   此方法是页面跳转完后得到调用,arg0是你当前选中的页面的Position(位置编号)。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ViewPager是Android中常用的滑动控件,它能够让用户在几个页面之间进行滑动,因此我们可以通过ViewPager的OnPageChangeListener监听页面的变化,从而实现一些需要响应页面变化的操作。 ViewPager有三个回调方法可以监听页面的变化: 1. onPageScrolled(int position, float positionOffset, int positionOffsetPixels):页面滚动时回调。 参数position表示当前页面的位置,positionOffset表示当前页面偏移的百分比,positionOffsetPixels表示当前页面偏移的像素值。 2. onPageSelected(int position):页面选中时回调。 参数position表示选中页面的位置。 3. onPageScrollStateChanged(int state):页面滚动状态改变时回调。 参数state表示页面滚动状态,有三个值:ViewPager.SCROLL_STATE_IDLE(空闲状态)、ViewPager.SCROLL_STATE_DRAGGING(拖拽状态)、ViewPager.SCROLL_STATE_SETTLING(自动滚动状态)。 下面是一个示例代码,演示如何使用ViewPager的OnPageChangeListener监听页面变化: ```java viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { // 页面滚动时回调 } @Override public void onPageSelected(int position) { // 页面选中时回调 } @Override public void onPageScrollStateChanged(int state) { // 页面滚动状态改变时回调 } }); ``` 通过实现这三个回调方法,我们就可以在页面发生变化时执行相应的操作了。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值