在没有硬件导航键的设备上的 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/