在viewpage滑动时,在大屏上滑动距离比较长,查看viewpage源码原来是要滑动半个屏幕以上才会切到下一页,源码位置如下图:

在尝试网上一些像反射、手势监听 修改的方法并没有什么效果,就从源码下手。先把viewpage源码的类拷贝一遍到app包下,操作如下:
1.搜索到viewpage源码

2.拷贝至app包下


4.修改viewpage源码
将viewpage源码 determineTargetPage(int currentPage, float pageOffset, int velocity, int deltaX) 方法中的 final float truncator = currentPage >=mCurItem ?0.4f :0.6f; 更改为
private float minPageOffset = 0.6f; //最小可切换Page的偏移量
final float truncator = currentPage >= mCurItem ? 1.0f - minPageOffset : minPageOffset; return targetPage;
引用的viewpage改为修改后的即可调整viewpage的滑动最小距离了
网友评论