我的需求是fragment中可以左滑刪除條目,這時左滑刪除和ViewPager的左右滑動衝突。最終解決方案是,在輪播圖的位置,禁止掉ViewPager的左右滑動
public class NoScrollViewPager extends ViewPager { public NoScrollViewPager(Context context) { super(context); } public NoScrollViewPager(Context context, AttributeSet attrs) { super(context, attrs); } @Override public void scrollTo(@Px int x, @Px int y) { super.scrollTo(x, y); } //是否可以滑動 private boolean isCanScroll = true; //----------禁止左右滑動------------------ @Override public boolean onTouchEvent(MotionEvent ev) { if (isCanScroll) { return super.onTouchEvent(ev); } else { return false; } } @Override public boolean onInterceptTouchEvent(MotionEvent arg0) { if (isCanScroll) { return super.onInterceptTouchEvent(arg0); } else { return false; } } //------------------------------------------- /** * 設置 是否可以滑動 * @param isCanScroll */ public void setScrollable(boolean isCanScroll) { this.isCanScroll = isCanScroll; } }