之前使用ViewPager,从来没有遇到过什么大的问题,用的都挺好的。最近在公司的新一代产品(硬件产品,分辨率2560*1440),针对高分辨率以及横屏应用开发,大量使用到ViewPager控件,但是问题来了,翻页的过程中,需要滑动屏幕一半的分辨率以上(2560/2=1280)才能够翻页,这样非常影响用户体验。
先简单介绍下应用场景:
1.硬件:公司自主研发,触摸屏采用红外(因此触摸效果没有电容屏流畅),显示屏采用高清2K显示屏
2.软件系统:android4.2.2
公司需要自己定制软件提供用户使用。对于ViewPager这个控件,android工程师一直不知道怎么去处理这个问题,无非两种:1.自定义控件,2.修改ViewPager。今天特意的去看了下ViewPager的源码,终于找到了改问题所在点,如下:
private int determineTargetPage(int currentPage, float pageOffset, int velocity, int deltaX) {
int targetPage;
if (Math.abs(deltaX) > mFlingDistance && Math.abs(velocity) > mMinimumVelocity) {
targetPage = velocity > 0 ? currentPage : currentPage + 1;
} else {
final float truncator = currentPage &g

在高分辨率的安卓设备上,原生ViewPager的翻页滑动距离过大,影响用户体验。通过深入研究ViewPager源码,发现0.6f的偏移量参数导致需滑动半屏才能翻页。解决方案是对该参数进行调整,优化翻页体验。

9998

被折叠的 条评论
为什么被折叠?



