android - 在Android 4.0 Navigation Bar劫持第一次触摸事件

标签 android touch-event android-4.0-ice-cream-sandwich

在没有硬件导航键的设备上的 Android 4.0 中,Android 将呈现导航栏。

如果需要,您可以使用 setSystemUiVisibility() 隐藏它。

如果这样做了,假设你想获得尽可能多的屏幕来播放,当你第一次触摸屏幕时(是的,在 View 上你实现了 View.onTouchEvent( )), first touch会被Android劫持,不会调用你的API。只有当导航栏可见时,它才会被调用。

现在,也可以通过收听来避免这种情况:

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

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

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

最佳答案

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

关于android - 在Android 4.0 Navigation Bar劫持第一次触摸事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8236790/

相关文章:

android - Gradle 无法解决 Play 服务依赖

android - 用 Flixel 覆盖 onTouchEvent(Android 端口)

android - 我想在我的代码中使用不同的 MotionEvent 对象调用 onTouchEvent(MotionEvent event)?

android - 新 Activity - 应用程序未启动

java - 在等待接收短信时制作进度对话框

android - ProgressDrawable 图层列表的图像应该是什么样的?

java - 在 onTouchEvent 中编辑 ArrayList

Android 4.0 c2dm问题

android - CursorAdapter 在 android 4 上运行缓慢

Android ICS 网络位置未更新