在android中如何从导航栏开始获取触摸事件

在android中如何从导航栏开始获取触摸事件,android,Android,我想在安卓系统中实现一个像Windows8平板电脑那样的从底部滑动的手势。但我无法捕捉到任何从安卓导航栏开始的触摸 这是我在MainActivity.java中的代码: @Override public boolean dispatchTouchEvent(MotionEvent ev) { Log.d("touch",ev.toString()); return super.dispatchTouchEvent(ev); } 从左侧或右侧滑动可以正常工作。但在非导航栏设备中,

我想在安卓系统中实现一个像Windows8平板电脑那样的从底部滑动的手势。但我无法捕捉到任何从安卓导航栏开始的触摸

这是我在
MainActivity.java
中的代码:

@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
    Log.d("touch",ev.toString());
    return super.dispatchTouchEvent(ev);
}
从左侧或右侧滑动可以正常工作。但在非导航栏设备中,当我从
导航栏
或从
底部边缘
滑动时,不会发生任何情况

我在安卓4.4.4平板电脑和Genymotion上对此进行了测试。

第一件事第一:。 正如最佳答案所述,
dispatchTouchEvent实际上是在Activity、View和ViewGroup上定义的。将其视为一个控制器,它决定如何路由触摸事件
。记住这一点,我们知道从导航栏开始的每个触摸事件(即,当您在导航栏上触摸手指时,按住它并向上滑动)都不会被方法
dispatchTouchEvent
截获

如果这不是你想要的答案,那么我想你正在寻找一种方法来实现一个菜单,当你从下往上滑动时,它会显示出来。听着,如果这是你想要的,我应该帮你


编辑:我又找到了一个例子,涵盖了整个滑动手势主题,可能对您有所帮助。遵循。

我从android导航栏底部开始滑动,你能解释一下吗?我不明白你将如何从底部和
导航抽屉
@Kushal开始滑动,我是说
虚拟按钮栏
,也许我的名字错了?根本不是
导航抽屉
。非常感谢!很抱歉,我没有足够的声望去投票。没问题,伙计。欢迎来到S.O。