我想为我的一些活动隐藏标题栏。问题是,我应用了一个风格,我所有的活动,因此我不能简单地设置主题@android:style/ theme . notitlebar。
使用NoTitleBar主题作为我的样式的父主题将从我的所有活动中删除标题栏。
我可以在某个地方设置无标题样式的项目吗?
我想为我的一些活动隐藏标题栏。问题是,我应用了一个风格,我所有的活动,因此我不能简单地设置主题@android:style/ theme . notitlebar。
使用NoTitleBar主题作为我的样式的父主题将从我的所有活动中删除标题栏。
我可以在某个地方设置无标题样式的项目吗?
当前回答
Add
<item name=“android:windowNoTitle”>true</item>
在AppTheme内部(style .xml)
其他回答
为你使用的主题添加这两个:
<item name="windowActionBar">false</item>
<item name="android:windowNoTitle">true</item>
我正在使用Android Xamarin,这对我来说很有效。
SupportActionBar.Hide();
SetContentView(Resource.Layout.activity_main);
标题栏可以用两种方式删除,如开发者Android页面所述:
在manifest.xml文件中:
如果你想为应用程序中的所有活动删除它,请在应用程序中添加以下内容: <应用android:主题= " @android:风格/ Theme.Black.NoTitleBar”> 或用于某一特定活动: <活动android:主题= " @android:风格/ Theme.Black.NoTitleBar”>
我发现了发生这种错误的两个原因。
一个。窗口标志已经在super.onCreate(savedInstanceState)中设置好了;在这种情况下,您可能需要使用以下命令的顺序:
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
super.onCreate(savedInstanceState);
两个。在标题栏中有Back/Up按钮,这意味着当前活动是另一个活动的分层子活动,在这种情况下,您可能想要注释掉或从onCreate方法中删除这行代码。
getActionBar().setDisplayHomeAsUpEnabled(true);
对我有用的方法:
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:主题= >