ViewPager2中嵌套了com.youth.banner.Banner产生左右滑动冲突

ViewPager2中嵌套了com.youth.banner.Banner产生左右滑动冲突

1.创建MyBanner类继承Banner,重写dispatchTouchEvent方法

public class MyBanner extends Banner {
    public MyBanner(Context context) {
        super(context);
    }

    public MyBanner(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public MyBanner(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
    }

    @Override
    public boolean dispatchTouchEvent(MotionEvent ev) {
        getParent().requestDisallowInterceptTouchEvent(true);  //设置不拦截
        return super.dispatchTouchEvent(ev);
    }
}

2.在布局xml中引用MyBanner控件


	android:id="@+id/convenientBanner"
    android:layout_width="0dp"
    android:layout_height="0dp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
/>

你可能感兴趣的:(ViewPager2中嵌套了com.youth.banner.Banner产生左右滑动冲突)