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