默认初始ViewPager切换到指定页面不需要滑动过程
来源:互联网 发布:暖男 中央空调 知乎 编辑:程序博客网 时间:2024/06/05 12:53
起因:在做项目过程中遇到从其他界面跳转到新界面(ViewPager实现)中的指定页面,通常使用mViewPager.setCurrentItem(nextItem);来切换到指定页面.
但在实现操作过程中发现,初始界面中默认切换到除第一页面时都会看到从第一页到指定页面的动画滑动效果(因为动画太快在有些设备上面显示会闪一下,然后切换到指定页面)
解决方案:
为了解决这个闪烁的问题,在查看ViewPager源代码中发现mCurItem变量.通过在mViewPagerAdaper.notifyDataSetChanged();调用之前通过反射强制设置mCurItem到指定页面,然后在mViewPagerAdaper.notifyDataSetChanged();调用之后再调用mViewPager.setCurrentItem(nextItem);方法即可跳过从第一个页面到指定页面的滑动动画效果
// 先强制设置到指定页面try {Field field = mViewPager.getClass().getField("mCurItem");field.setAccessible(true);field.setInt(mViewPager, 2);} catch (Exception e) {e.printStackTrace();}// 通过数据修改mViewPagerAdaper.notifyDataSetChanged();// 切换到指定页面mViewPager.setCurrentItem(2);
1 0
- 默认初始ViewPager切换到指定页面不需要滑动过程
- 默认初始ViewPager切换到指定页面不需要滑动过程
- ViewPager页面滑动切换
- ViewPager实现滑动切换页面
- 引导页ViewPager当滑动到最后一页,再继续滑动切换页面的效果实现
- 使用ViewPager进行页面滑动切换
- android ViewPager页面左右滑动切换
- android(8) ViewPager页面滑动切换
- android ViewPager页面左右滑动切换
- 利用viewpager实现页面的滑动切换
- Fragment+viewpager切换滑动页面Demo
- ViewPager屏蔽滑动切换页面效果
- TabLayou+fragment+viewpager实现滑动切换页面
- Viewpager+Fragment实现左右滑动切换页面
- weex slider 滑动切换页面防安卓viewpager
- fragment+viewpager+tablayou实现滑动切换页面
- viewpager+fragment左右滑动切换页面
- Android ViewPager多页面滑动切换以及底部滑动导航
- React Native 环境配置
- 内亚的三重面相
- iOS开发——keychain的使用
- netty
- 搭建高可用mongodb集群(一)——配置mongodb
- 默认初始ViewPager切换到指定页面不需要滑动过程
- Apache Commons fileUpload实现文件上传
- 卷积神经网络(CNN)
- 九度OJ 1191:矩阵最大值 (矩阵计算)
- 前后端分离
- 搭建高可用mongodb集群(二)—— 副本集
- 权限管理——RBAC模型总结
- 使用IntelliJ IDEA编写SparkPi直接在Spark中运行
- 常见的项目文件介绍