本文已参与「新人创作礼」活动,一起开启掘金创作之路。
在Android中去掉标题栏有三种方法
1. 在代码里实现
this.requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标题栏
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标题栏
setContentView(R.layout.activity_main);
}
}
注意:去掉标题栏注意这句一定要写在setContentView()方法的前面,不然会报错的
android studio中继承Activity的时候一般继承的是AppCompatActivity 这样是去不掉上面的标题栏的,需要把AppCompatActivity改成Activity就可以去掉标题栏了
2. 在清单文件(manifest.xml)里面实现
在application加一句
android:theme="@style/Theme.Lookboard"
<style name="Theme.Lookboard" parent="Theme.MaterialComponents.NoActionBar.Bridge" >
<!-- Primary brand color. -->
<item name="colorPrimary">@color/purple_500</item>
<item name="colorPrimaryVariant">@color/purple_700</item>
<item name="colorOnPrimary">@color/white</item>
<!-- Secondary brand color. -->
<item name="colorSecondary">@color/teal_200</item>
<item name="colorSecondaryVariant">@color/teal_700</item>
<item name="colorOnSecondary">@color/black</item>
<!-- Status bar color. -->
<item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
Customize your theme here.
</style>
3.在style.xml文件里定义
<?xml version="1.0" encoding="UTF-8" ?>
<resources>
<style name="notitle">
<item name="android:windowNoTitle">true</item>
</style>
</resources>
在清单文件(AndroidManifest.xml) application 中引用就可以了
android:theme="@style/notitle"
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/notitle">
如果以上三种都不能解决
这里的Activity类继承的是AppCompatActivity,这个是属于support v7附加包的类。而eclipse使用的则是v4包,继承的是Activity类.
- 以下是解决方法
1.修改父类Acticity,将AppComPatActiviry替换为Activiry
2.修改AndroidManiFest.xml文件,将< activity>中的Theme属性替换如下:
android:theme="@style/Theme.AppCompat.NoActionBar">
3.在onCreate方法中 更换requestWindowFeature(Window.FEATURE_NO_TITLE);代码为:
//v7包下去除标题栏代码:
getSupportActionBar().hide();
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getSupportActionBar().hide();
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_main);
}
}
注意:去掉标题栏上面的这两句,一定要写在setContentView()方法的前面,不然会报错的
- 以上是全部内容,如果有疑问欢迎留言讨论