我的活动包含Navigation Drawer
和AutoScrollViewPager
。当我从手机屏幕的左边缘轻扫以打开Navigation Drawer
时,AutoScrollViewPager
的页面会更改而不是Navigation Drawer
。如何禁用从边缘滑动AutoScrollViewPager
?
P.S。我尝试在AutoScrollViewPager中添加保证金,但它看起来很丑,如果保证金不够大,则不起作用。
答案 0 :(得分:2)
答案 1 :(得分:0)
尝试使用以下代码:
public class CustomViewPager extends ViewPager {
private boolean enabled;
public CustomViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
this.enabled = true;
}
@Override
public boolean onTouchEvent(MotionEvent event) {
if (this.enabled) {
return true;
}
return false;
}
@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
if (this.enabled) {
if (event.getAction() == MotionEvent.ACTION_DOWN && event.getEdgeFlags() == MotionEvent.EDGE_LEFT) {
return true; //disable swipe
}
}
return false;
}
public void setPagingEnabled(boolean enabled) {
this.enabled = enabled;
} }