ViewPager的滑动监听

mac2025-06-12  30

监听ViewPager的滑动,需要实现3个方法: onPageScrolled(int i, float v, int i1) onPageSelected(int i) onPageScrollStateChanged(int i)

1.onPageScrolled(int i, float v, int i1): 每次点击ViewPagerItem时和滑动ViewPager都会调用,且调用多次; i为当前页面的索引,v为当前页面偏移的百分比,i1为当前页面偏移的像素位置;比如: 第一个(position=0)Viewpager滑动到第二个(position=1)viewPager,此时i=0;

2.onPageSelected(int i): 每次点击或切换ViewPagerItem时调用,且调用多次; ViewPager跳转到新页面时触发该方法,i表示新页面的位置; 比如:第一个页面跳转到第二个界面,此时i=1; 初始默认为0,所以首次position=0时,不调用onPageSelected();解决方法: mViewPager.addOnPageChangeListener(pageChangeListener); pageChangeListener.onPageSelected(position);

3.onPageScrollStateChanged(int i): i表示滑动状态:i=0 空闲静止;i=1 手指在屏幕的滑动状态; i=2 手指离开屏幕的惯性滑动状态

4.做ViewPager的预加载,用onPageSelected(int i)方法,根据i判断是否是最后一项; 删除ViewPager的item时,不调用onPageSelected(int i).

最新回复(0)