//定义两个变量,这个两个变量是表示滑动时候,positionOffset 是从大到
//小的变化,还是从小到大的变化。用于在滑动时候,避免多次调用一个方法
private boolean isSmallToBig = true;
private boolean isBigToSmall = false;
//记录上一次滑动的positionOffsetPixels值
private int lastValue = -1;
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
if (positionOffset != 0) {
mCurrentPage = position;
boolean isLeft = true;
if (lastValue >= positionOffsetPixels) {
//右滑
isLeft = false;
} else if (lastValue < positionOffsetPixels) {
//左滑
isLeft = true;
}
setIndiactorView(positionOffset,isLeft);
}
lastValue = positionOffsetPixels;
}
private void setIndiactorView(float positionOffset,boolean isLeft) {
//设定滑动的边界,这里设置的滑动到一半
float radiusOffsetHead = 0.5f;
//如果滑动小于一半,通过isSmallToBig这个变量来避免多次调用
// initIndicatorView 方法
if (positionOffset <= radiusOffsetHead && !isSmallToBig) {
initIndicatorView(mCurrentPage);
isSmallToBig = true;
isBigToSmall = false;
} else if (positionOffset > radiusOffsetHead && !isBigToSmall) {
//超过一半。如果是左滑,就-1,如果是右滑,就+1
int currnt = isLeft ? mCurrentPage + 1 : mCurrentPage - 1;
initIndicatorView(currnt);
isBigToSmall = true;
isSmallToBig = false;
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有