我想隐藏一些活动的标题栏。问题是我将一个样式应用于我的所有活动,因此我不能简单地将主题设置为@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>
现在我可以将这个样式设置为每个 Activity,我想隐藏标题栏覆盖应用程序范围的样式并继承所有其他样式信息,因此样式代码中没有重复。
要将样式应用于特定的 Activity,请打开AndroidManifest.xml
并将以下属性添加到activity
标记中;
<activity
android:theme="@style/generalnotitle">