我需要将我的一个名为 MyNoStatusBarActivity.java
的 Activity 设为全屏 Activity 。
我已在 Manifest 中添加:
<activity
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:name=".MyNoStatusBarActivity"
android:noHistory="true"
android:label="@string/app_name"
android:configChanges="touchscreen|keyboard|keyboardHidden|navigation|orientation">
...
</activity>
在我的 Activity 的 onCreate
中:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(
WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
这样做只是隐藏了标题栏而不是状态栏。
此外,如果我在应用程序级别使用 list 主题而不是我的 Activity ,它可以工作,但适用于我的应用程序的所有 Activity ,这不是我想要的。我只想要一个特定 Activity 的无状态栏。
我们将不胜感激。谢谢!
P.S:我很好,这种行为在 Honeycomb/ICS 中不再可用。我只需要这个 2.2 和 2.3
编辑
尝试了 SO 中其他解决方案中提到的所有建议,但尚未成功。主题在应用于应用程序级别但不适用于 Activity 级别时有效。
我正在使用 HTC WildFire-S,android 版本 2.3.5
最佳答案
在您的 list xml 中,在应用程序级别放置:
<application
...
android:theme="@android:style/Theme.NoTitleBar" >
</application>
在你想要全屏显示的 Activity 中输入:
<activity
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
...
</activity>
移除 onCreate 中的所有 setWindowsFeature 或 setFlag 方法。
关于android:theme ="@android:style/Theme.NoTitleBar.Fullscreen"适用于应用程序级别,但不适用于 Activity 级别。有什么线索吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10086371/