在旧版本的 Android 中,必须使用:android:theme="@android:style/Theme.NoTitleBar.Fullscreen"在清单中使标题栏消失。
在较新的 ADT 版本中,我注意到一个SystemUiHider类,它允许您调用它的hide()方法来删除不仅标题栏,还删除操作栏和导航栏。
我正在尝试编写一个全屏应用程序,除非按下一个小的隐藏按钮,否则我希望保持全屏状态(用于信息亭实现)。
我尝试采用标准 FullscreenActivity(从新的 android 项目向导生成),并以多种方式防止 UI 重新出现:
- 调用
mSystemUiHider.hide()insetOnVisibilityChangeListener(在检测到可见性变化时尝试立即隐藏 UI) - 设置:(
AUTO_HIDE_DELAY_MILLIS = 0尝试在可见时立即隐藏它) - 防止在方法
mSystemUiHider.show();内调用(以防止显示)onClickcontentView.setOnClickListener - 我还在
setSystemUiVisibilityandroid.view 的文档中看到了示例(如果显示或可见性发生更改,再次尝试立即隐藏它)
它们似乎都不起作用(当尝试其中任何一种时,Android 默认为导航栏的低调模式。
我知道他们可能不希望开发人员做我想做的事情,但我希望我可以扩展SystemUiHider(和/或SystemUiHiderBase)并覆盖这些show()方法,使其基本上不显示,除非传递一个true标志。我似乎找不到关于这些类的任何文档(也许是因为它们是实用程序类?)。