三层ViewPager嵌套 的事件处理

时间:2022-10-28 11:56:03

这么多ViewPager嵌套在一起肯定会遇到冲突 不信你试试(笑脸) 下面来说怎么解决.....太为难我这个菜b了

设置外部的父控件不要拦截我子控件的事件,通过重写ViewPager的

    @Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
return false;//不拦截事件, 让嵌套的子viewpager有机会响应触摸事件
}

来决定 事件是否中断,返回true则子控件就不能滑动

完整的:

public class NoScrollViewPager extends ViewPager {

    public NoScrollViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
} public NoScrollViewPager(Context context) {
super(context);
} //决定事件是否中断
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
return false;//不拦截事件, 让嵌套的子viewpager有机会响应触摸事件
} @Override
public boolean onTouchEvent(MotionEvent ev) {
// 重写ViewPager滑动事件, 改为什么都不做
return true;
} }