如果我的全屏首选项(默认关闭)打开,我希望我的 Activity 隐藏标题栏和通知栏。我可以用requestWindowFeature(Window.FEATURE_NO_TITLE);
+FLAG_FULLSCREEN
等来做到这一点,或者也许setTheme(android.R.style.Theme_NoTitleBar_Fullscreen);
其中任何一个都必须在之前 setContentView()
发生,否则它们将崩溃。困难的部分是:
- 我的目标是 API 级别 3 到 14,如果 Activity 不打算使用 ActionBar,我只想隐藏标题栏。否则,
FEATURE_NO_TITLE
会隐藏 ActionBar 并失去一些重要的控件。(我宁愿选择“熄灯”模式。) - 我看不到如何确定 ActionBar 是否会被使用,直到after
setContentView()
为时已晚。
不起作用的事情:
getActionBar()
在这个早期阶段返回 null。getWindow.hasFeature(Window.FEATURE_ACTION_BAR)
是假的。- (通过反思)知道 ActionBar 作为一个类存在是不够的,因为坚持默认的设备主题,可能并不总是在某些 Ice Cream Sandwich 设备上使用 ActionBar,即使平台有它。(?)
- 或者:我可以依靠 ICS 总是有一个 ActionBar 吗?为什么?
- 编辑:好的,也许 ICS 的标题栏仍然是一个 ActionBar,只是没有项目,甚至没有溢出按钮?(在这种情况下,我仍然想隐藏它。)任何人都可以在那里阐明任何观点吗?
有任何想法吗?:-)