在旧版本的 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();
内调用(以防止显示)onClick
contentView.setOnClickListener
- 我还在
setSystemUiVisibility
android.view 的文档中看到了示例(如果显示或可见性发生更改,再次尝试立即隐藏它)
它们似乎都不起作用(当尝试其中任何一种时,Android 默认为导航栏的低调模式。
我知道他们可能不希望开发人员做我想做的事情,但我希望我可以扩展SystemUiHider
(和/或SystemUiHiderBase
)并覆盖这些show()
方法,使其基本上不显示,除非传递一个true
标志。我似乎找不到关于这些类的任何文档(也许是因为它们是实用程序类?)。