在XML中,如何给一个已经有自定义主题的Activity隐藏标题栏?

在XML中,如何给一个已经有自定义主题的Activity隐藏标题栏?

问题描述:

我想要给我的一些activitys隐藏标题栏。问题是我给我所有的activitys应用了一个样式,因此我不能简单的把内容设置成 @android:style/Theme.NoTitleBar.
给我的样式使用NoTitleBar内容作为父类将移除标题栏里太多的activitys。我在哪里可以设置一个没有标题样式的项目?

我是这样做的
我声明了一个从我的大体的样式中继承所有的样式,然后禁用标题栏

<style name="generalnotitle" parent="general">
    <item name="android:windowNoTitle">true</item>
</style>

现在我可以给每个我想要隐藏标题栏的Activity设置这个样式,通过重新应用程序的大的样式,然后继承所有其他的样式信息,因此在样式代码中没有重复的。

在你的 onCreate() 方法中做这些

//移除标题栏
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
//移除通知栏
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

This指的是Activity。

你可以修改你的AndroidManifest.xml

<activity android:name=".MainActivity"
          android:label="@string/app_name"
          android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen">

你可以在你的工程中的每个activity中都使用这个。

在developer android页面提到过两种删除标题栏的方法

在manifest.xml里

如果你想要给一个app里所有的activity里的标题栏都删除,把下边的这个加到应用程序中

或者是给一个特定的activity