ViewPager 修改默认滑动偏移量
来源:互联网 发布:越南人 知乎 编辑:程序博客网 时间:2024/06/14 01:37
之前使用ViewPager,从来没有遇到过什么大的问题,用的都挺好的。最近在公司的新一代产品(硬件产品,分辨率2560*1440),针对高分辨率以及横屏应用开发,大量使用到ViewPager控件,但是问题来了,翻页的过程中,需要滑动屏幕一半的分辨率以上(2560/2=1280)才能够翻页,这样非常影响用户体验。
先简单介绍下应用场景:
1.硬件:公司自主研发,触摸屏采用红外(因此触摸效果没有电容屏流畅),显示屏采用高清2K显示屏
2.软件系统:android4.2.2
公司需要自己定制软件提供用户使用。对于ViewPager这个控件,Android工程师一直不知道怎么去处理这个问题,无非两种:1.自定义控件,2.修改ViewPager。今天特意的去看了下ViewPager的源码,终于找到了改问题所在点,如下:
determineTargetPage这个方法就是计算接下来要滑到哪一页。这个方法调用是在MotionEvent.ACTION_UP这个事件下,先说下参数意思:
currentPage:当前ViewPager显示的页面
pageOffset:用户滑动的页面偏移量
velocity: 滑动速率
deltaX: X方向移动的距离
对这个发放进行debug调试之后,发现问题就在0.4f和0.6f这个参数上。分析得出:0.6f表示用户滑动能够翻页的偏移量,所以不难理解,为啥要滑动半屏或者以上了。
修改方法如下:
这样就可以设置用户滑动偏移量而切换page了,从而解决针对大屏幕分辨率滑动不顺畅的问题。
以上如有疑问,还请提出,谢谢。
阅读全文
0 0
- ViewPager 修改默认滑动偏移量
- ViewPager切换Page之修改默认滑动偏移量
- tabletableview 上下滑动 依据滑动偏移量,改变headView大小
- button 修改 title 和 image偏移量
- 视图坐标系和绝对坐标系偏移量来实现滑动
- 偏移量
- 偏移量
- ViewPager切换滑动速度修改
- ViewPager切换滑动速度修改
- ViewPager切换滑动速度修改
- ViewPager切换滑动速度修改
- ViewPager切换滑动速度修改
- Android ViewPager 修改滑动速度
- ViewPager切换滑动速度修改
- viewpager 滑动,缩放,子控件偏移引导页
- zookeeper上修改kafka消费组的偏移量
- 修改UITableViewCell中textLabel偏移量的几种方式
- ViewPager禁止滑动已经去掉默认的滑动效果。
- POJ 3090 Visble Lattice Points
- SQLServer中服务器角色和数据库角色权限详解
- sleep()与wait()
- C# 两个form之间传值、多播委托:委托可以指向多个函数
- cs231n 图像分类
- ViewPager 修改默认滑动偏移量
- 实时监听input输入的变化(兼容主流浏览器)
- 使用Markdown编辑器
- setinterval是同步还是异步的问题
- iOS中的Availability.h头文件
- Spring Boot集成Redis
- 计划任务crond
- 容易出错的“布尔值”判断
- Fragment异常:android.view.InflateException: Binary XML file line #35: Error inflating class fragment