在导航抽屉内处理 ViewPager 滑动

Handle ViewPager swipe inside Navigation Drawer

我在 Navigation Drawer 中使用 ViewPager,当我想滑动到 ViewPager 中的下一个选项卡时遇到问题。在打开导航抽屉的方向滑动有效,但在关闭导航抽屉的方向滑动无效。

这意味着我通常可以向 "right" 方向滑动到 ViewPager 页面,但是当我想滑动到 "left" 方向时,NavigationDrawer 会拦截触摸事件并自行关闭。

如果用户在没有水平滚动的内容上滑动,我仍然希望能够关闭导航抽屉。我怎样才能完成这样的事情?谢谢。

当您不希望 ViewPager 关闭时使用 View.requestDisallowInterceptTouchEvent(true);,在 Action_Up 之后立即调用此 View.requestDisallowInterceptTouchEvent(false);

它的作用是防止父级监听或拦截触摸事件。