我想为我的一些活动隐藏标题栏。问题是,我应用了一个风格,我所有的活动,因此我不能简单地设置主题@android:style/ theme . notitlebar。
使用NoTitleBar主题作为我的样式的父主题将从我的所有活动中删除标题栏。
我可以在某个地方设置无标题样式的项目吗?
我想为我的一些活动隐藏标题栏。问题是,我应用了一个风格,我所有的活动,因此我不能简单地设置主题@android:style/ theme . notitlebar。
使用NoTitleBar主题作为我的样式的父主题将从我的所有活动中删除标题栏。
我可以在某个地方设置无标题样式的项目吗?
当前回答
只需使用getActionBar().hide();在你的主活动onCreate()方法中。
其他回答
我使用@YaW的解决方案从我的活动中删除标题和通知。但是,标题和通知将在显示对话框时出现。因此,要将此应用到一个对话框,请将该对话框子类化,如下所示:
public class MyDialog extends android.app.Dialog{
@Override
protected void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
super.onCreate(savedInstanceState);
setContentView(R.layout.mydialog);
}
}
我使用的是支持小部件Toolbar v7。 因此,为了能够删除或隐藏标题,我们需要这样写。
Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar);
setSupportActionBar(myToolbar);
//Remove¡ing title bar
getSupportActionBar().setDisplayShowTitleEnabled(false);
只需使用getActionBar().hide();在你的主活动onCreate()方法中。
对我有用的方法:
1-在styles.xml中:
<style name="generalnotitle" parent="Theme.AppCompat.Light" >
<item name="android:windowNoTitle">true</item> <!-- //this -->
</style>
2-在MainActivity中
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getSupportActionBar().hide(); //<< this
setContentView(R.layout.activity_main);
}
在显式中继承样式: <活动android: name = "。MainActivity @style / generalnotitle“android:主题= >
将此样式添加到style.xml文件中
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
之后,在你不想看到标题栏的特定活动中引用此样式名称到androidManifest.xml,如下所示。
<activity android:name=".youractivityname"
android:theme="@style/AppTheme.NoActionBar">
</activity>