ViewPager SimpleOnPageChangeListener中回调函数的调用场景

本文详细解析了ViewPager中SimpleOnPageChangeListener的三个核心方法:onPageScrolled、onPageSelected及onPageScrollStateChanged的作用与应用场景。介绍了这些方法如何帮助开发者实现页面滚动动画、页面切换状态更新及页面滚动状态变化等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Listener 的源码如下:

239 
240     public static class SimpleOnPageChangeListener implements OnPageChangeListener {
241         @Override
242         public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
243             // This space for rent
244         }
245 
246         @Override
247         public void onPageSelected(int position) {
248             // This space for rent
249         }
250 
251         @Override
252         public void onPageScrollStateChanged(int state) {
253             // This space for rent
254         }
255     }

1.  onPageScrolled ( int   position float   positionOffset int   positionOffsetPixels ):

position:当前的位置

positionoffset:当前滚动比例(左-右/0-1)(右-左/1-0)

positionOffsetPixels:当前实际滚动的像素(左-右/0-页宽) (右-左/页宽-0)


被调用的场景: ViewPager滚动时总被回调,这个函数在操作ViewPager时被回调很多次。

1.手指拖动 action_move 。n次

2.惯性还原 computeScroll()。n次

使用场景:做view的动画效果时可以用这个回调函数。


2.onPageSelected(int position)


被调用的场景:ViewPager确定页面是哪一页时。1次

1. 手指拖动后抬起 action_up 。1次

2. 或者手指滑动超出屏幕时 action_cancel。1次

使用场景:页面切换后改变对应的tab的状态可以用这个回调函数。



3.onPageScrollStateChanged(int state):


被调用的场景:ViewPager状态切换时被调用。这个函数在操作ViewPager时被回调3次。

1. 开始滚动 dragging拖动状态。1次

2. 惯性滚动 settling还原状态。1次

3. 滚动结束 idle空闲状态。1次

使用场景:做页面状态变化后引起的view特效时可以用这个回调函数


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值