如何在导航抽屉内使用视图寻呼机?

时间:2014-06-19 15:21:29

标签: android android-viewpager navigation-drawer

我希望导航抽屉内有一个视图寻呼机,以便在导航抽屉打开时在两个选项列表之间切换。我也在使用ViewPagerIndicator

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

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

如果导航抽屉在导航抽屉视图外面启动,导航抽屉只能使用滑动事件,以便导航抽屉内的视图寻呼机功能完全正常?

提前致谢!

迈克尔

1 个答案:

答案 0 :(得分:2)

使用ViewPager抓取View.onTouchListener的触摸事件,禁止家长处理该事件。

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;
    }
});