Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android 4.0导航栏劫持第一次触摸事件中_Android_Touch Event_Android 4.0 Ice Cream Sandwich - Fatal编程技术网

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

在Android 4.0导航栏劫持第一次触摸事件中,android,touch-event,android-4.0-ice-cream-sandwich,Android,Touch Event,Android 4.0 Ice Cream Sandwich,在Android 4.0中,在没有硬件导航键的设备上,Android将呈现导航栏 如果需要,可以使用setSystemMiviability()隐藏它 如果这样做了,假设您希望获得尽可能多的屏幕来播放,当您第一次触摸屏幕时(是的,在View上实现View.onTouchEvent()),第一次触摸将被Android劫持,您的API将不会被调用。只有当导航栏可见时,才会调用它 现在,这可以通过听以下内容来避免: 当导航栏可见时,只需按第一次触摸时的操作即可 有没有其他方法可以做到这一点,即And

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

如果需要,可以使用
setSystemMiviability()
隐藏它

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

现在,这可以通过听以下内容来避免:

当导航栏可见时,只需按第一次触摸时的操作即可


有没有其他方法可以做到这一点,即Android 4.0在导航栏使用完毕后将触控事件传播到我的应用程序?

没有,系统总是使用第一次触控将导航栏带回来。只有当应用程序处于非交互状态(如视频播放)时,才应隐藏导航栏。

在ICS中,您需要使用listener。

这不是要求的。答案是,正如我在问题中所解释的,除了使用listener之外,并没有其他方法可以做到这一点。它工作得很好,但我仍然相信Android团队的设计决策是错误的。你能解释一下吗?