如何使用现有的自定义主题隐藏XML中活动的标题栏

我想为我的一些活动隐藏标题栏。 问题是我将一个样式应用于所有活动,因此我不能简单地将主题设置为@android:style/Theme.NoTitleBar

使用NoTitleBar主题作为我的样式的父项,将移除标题栏以进行多项活动。

我可以在某处设置无标题样式的项目吗?


在你的onCreate()方法中执行此操作。

//Remove title bar
this.requestWindowFeature(Window.FEATURE_NO_TITLE);

//Remove notification bar
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

//set content view AFTER ABOVE sequence (to avoid crash)
this.setContentView(R.layout.your_layout_name_here); 

this是指Activity


你可以修改你的AndroidManifest.xml

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

或者如果您不需要全屏活动,请使用android:theme="@android:style/Theme.Black.NoTitleBar"

注意:如果您以前使用过“默认”视图,那么您可能还应该将父类从AppCompatActivity更改为“ Activity


我现在做了以下。

我声明了一种风格,继承我的一般风格,然后禁用titleBar。

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

现在,我可以将此样式设置为每个要隐藏标题栏的活动,以覆盖应用程序范围样式并继承所有其他样式信息,因此样式代码中不存在重复。

要将样式应用于特定的活动,请打开AndroidManifest.xml并将以下属性添加到activity标记中;

<activity
    android:theme="@style/generalnotitle">
链接地址: http://www.djcxy.com/p/24249.html

上一篇: How to hide the title bar for an Activity in XML with existing custom theme

下一篇: Theme/Style is not applied when inflater used with ApplicationContext