android全屏模式(ICS),第一次触摸显示导航栏

android全屏模式(ICS),第一次触摸显示导航栏,android,Android,在我的视频播放应用程序中,我使用以下标志:SYSTEM\u UI\u flag\u HIDE\u NAVIGATION使导航栏消失,但当我触摸屏幕时,导航栏出现,在第一次触摸后,我的触摸事件和其他事件工作正常 我的问题是我如何接手第一次接触?你不能真正接手第一次接触。当导航栏再次显示或隐藏时,您可以实现并收到通知,然后根据其当前状态在第一次触摸时执行您想要的操作(如果可能) 但是,您无法完全接管第一次触摸,如以下文档中所述: 有一个限制:因为导航控件非常重要,用户交互最少会导致它们立即重新出现。

在我的视频播放应用程序中,我使用以下标志:
SYSTEM\u UI\u flag\u HIDE\u NAVIGATION
使导航栏消失,但当我触摸屏幕时,导航栏出现,在第一次触摸后,我的触摸事件和其他事件工作正常


我的问题是我如何接手第一次接触?

你不能真正接手第一次接触。当导航栏再次显示或隐藏时,您可以实现并收到通知,然后根据其当前状态在第一次触摸时执行您想要的操作(如果可能)

但是,您无法完全接管第一次触摸,如以下文档中所述:

有一个限制:因为导航控件非常重要,用户交互最少会导致它们立即重新出现。发生这种情况时,此标志和系统全屏将自动清除,以便两个元素同时出现


对于任何看到这篇文章的人,如果你的目的是隐藏导航/状态栏,而不是在触摸屏幕时让它重新出现,请查看不同的“沉浸式”配置,如下所述:

例如:

currentActivity?.window?.decorView?.systemUiVisibility = View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY or
                    View.SYSTEM_UI_FLAG_FULLSCREEN or
                    View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
这将有效地将您的屏幕置于“全屏”模式,而不考虑用户与屏幕的任何交互

要再次显示导航/状态栏,只需将其更改回:

currentActivity?.window?.decorView?.systemUiVisibility = View.SYSTEM_UI_FLAG_VISIBLE