我想为我的一些活动隐藏标题栏。问题是,我应用了一个风格,我所有的活动,因此我不能简单地设置主题@android:style/ theme . notitlebar。
使用NoTitleBar主题作为我的样式的父主题将从我的所有活动中删除标题栏。
我可以在某个地方设置无标题样式的项目吗?
我想为我的一些活动隐藏标题栏。问题是,我应用了一个风格,我所有的活动,因此我不能简单地设置主题@android:style/ theme . notitlebar。
使用NoTitleBar主题作为我的样式的父主题将从我的所有活动中删除标题栏。
我可以在某个地方设置无标题样式的项目吗?
当前回答
在onCreate方法中,使用以下代码段:
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
其他回答
如果你使用this.requestWindowFeature(Window.FEATURE_NO_TITLE),当活动通过onCreate启动时,用户仍然可以在启动动画期间看到标题栏。如果你使用@android:style/Theme.Black。NoTitleBar如下所示,标题栏将不会在启动动画期间显示。
<activity
android:name=".MainActivity"
android:label="My App"
android:theme="@android:style/Theme.Black.NoTitleBar"
android:screenOrientation="portrait">
上面的例子显然会覆盖你现有的应用主题,如果你有现有的主题,那么添加<item name="android:windowNoTitle">true</item>到它。
对我有用的方法:
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:主题= >
WindowManager。LayoutParams在Android Studio文档说FLAG_FULLSCREEN是“窗口标志:隐藏所有的屏幕装饰(如状态栏),而这个窗口显示。”所以这个标志不会让我的内容充满整个屏幕。
您可以在java文件中使用此代码
在设置或加载视图之前添加这一行
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
在我的例子中,我的活动是扩展AppCompatActivity。
class MyActivity: AppCompatActivity(){
...
}
所以,其他答案都不管用。 我必须这样做:
class MyActivity: AppCompatActivity(){
this.supportRequestWindowFeature(Window.FEATURE_NO_TITLE)
}
它确实有效!
如果你的活动扩展了AppCompatActivity,只要在requestWindowFeature(…)之前添加“support”即可。