scrollview里面嵌套viewpager时出现的滑动冲突问题,解决方法:重新scrollview
public class ScrollViewExtend extends ScrollView {
private float xDistance, yDistance, xLast, yLast;
public ScrollViewExtend(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
switch (ev.getAction()) {
case MotionEvent.ACTION_DOWN:
xDistance = yDistance = 0f;
xLast = ev.getX();
yLast = ev.getY();
break;
case MotionEvent.ACTION_MOVE:
final float curX = ev.getX();
final float curY = ev.getY();
xDistance += Math.abs(curX - xLast);
yDistance += Math.abs(curY - yLast);
xLast = curX;
yLast = curY;
if (xDistance > yDistance) {
return false;
}
}
return super.onInterceptTouchEvent(ev);
}
}
本文介绍了一种解决ScrollView中嵌套使用ViewPager时产生的滑动冲突问题的方法。通过自定义一个扩展的ScrollView来判断触控事件的方向,优先处理水平滑动以确保ViewPager正常工作。
785

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



