android:theme ="@android:style/Theme.NoTitleBar.Fullscreen"适用于应用程序级别,但不适用于 Activity 级别。有什么线索吗?

标签 android android-activity android-manifest statusbar android-theme

我需要将我的一个名为 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/

相关文章:

android - 我试图将数据从一个 Activity 发送到下一个 Activity ,但是当它进入下一个 Activity 时,它只显示 toast 而不是数据

Android如何通过网络浏览器强制下载文件

android - 在 Android 中检测重叠路径

android - 切换android Activity 时的致命信号6(SIGABRT)

java - "Back button"不关闭 Activity

android - 可以选择要求 Google Maps API 支持吗?

android - repo init 后如何覆盖 default.xml

android - 安装后自动将小部件放在桌面上

android - Activity 过渡无法正常使用背景颜色

android - AsyncTask - 如何从 OnPostExecute 访问 GUI 元素