在Android 4.0导航栏劫持第一次触摸事件

时间:2011-11-23 02:56:49

标签: android ontouchevent android-4.0-ice-cream-sandwich

在没有硬件导航键的设备上的Android 4.0中,Android会渲染导航栏。

如果您愿意,可以使用setSystemUiVisibility()隐藏它。

如果这样做,让我们假设你想要在第一次触摸屏幕时获得尽可能多的播放屏幕(是的,在View上实施View.onTouchEvent()),首先触摸将被Android劫持,您的API将不会被调用。只有一个导航栏可见,它才会被调用。

现在,通过听取以下内容可以避免这种情况:

http://developer.android.com/reference/android/view/View.OnSystemUiVisibilityChangeListener.html

当导航栏可见时,只需执行首次触摸即可执行的操作。

还有其他方法可以做同样的事情,那就是Android 4.0会在导航栏完成之后将触摸事件传播到我的应用程序吗?

2 个答案:

答案 0 :(得分:2)

不,系统总是消耗第一次触摸导航栏。如果您的应用处于非交互状态(例如视频播放),则只应隐藏导航栏。

答案 1 :(得分:0)

在ICS中,您需要使用监听器。