android – 如何在导航抽屉中使用视图寻呼机?

我想在我的导航抽屉里面有一个视图寻呼机,当导航抽屉打开时,可以在两个选项列表之间切换.我也在使用
ViewPagerIndicator.

我可以通过从屏幕左边向右滑动打开导航抽屉,我的视图寻呼机(和指示器)显示在导航抽屉中.

但是:我只能通过点击视图寻呼机指示标题来切换视图寻呼机的两个列表.如果我尝试通过滑动导航抽屉反映触摸事件而不是视图寻呼机来在视图寻呼机中显示的列表之间进行切换.

如果导航抽屉在导航抽屉视图外面启动时,如何让导航抽屉仅使用滑动事件,以便视图寻呼机在导航抽屉内完全正常工作?

提前致谢!

迈克尔

最佳答案 使用View.onTouchListener捕获ViewPager的触摸事件,以禁止父级处理事件.

viewPager.setOnTouchListener(new onTouchListener() 
{
    @Override
    public boolean onTouch(View v, MotionEvent event) 
    {
        int action = event.getAction();
        switch (action) 
        {
        case MotionEvent.ACTION_DOWN:
            // Disallow Drawer to intercept touch events.
            v.getParent().requestDisallowInterceptTouchEvent(true);
            break;

        case MotionEvent.ACTION_UP:
            // Allow Drawer to intercept touch events.
            v.getParent().requestDisallowInterceptTouchEvent(false);
            break;
        }

        // Handle viewPager touch events.
        v.onTouchEvent(event);
        return true;
    }
});
点赞