总结的几种去掉标题的方式:
1. 在代码中实现
在此方法setContentView(R.layout.activity_main)之前加入:
requestWindowFeature(Window.FEATURE_NO_TITLE);如果用了这个方法失效的话,那是因为你的activity继承AppCompatActivity。。。。 就用我提供的下面这种方法
2. 重点:解决activity继承AppCompatActivity去掉标题栏
使用As开发工具的大佬们都知道,更新之后,所有的activity都是继承于AppCompatActivity的
之前本人做项目的时候,用了一个高仿滴滴的城市筛选,但是必须加主题,否则就会报一个奇葩的错误,没办法,就遇到了这个纠结的问题
this.requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);用这个有一个bug,那就是状态消失之后,标题栏还在。。。。
于是更改为这个:
方法一:
getSupportActionBar().hide(); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);方法二:
手动在oncreate里调用hide()
if (getSupportActionBar() != null){ getSupportActionBar().hide(); }总结: 在代码中实现去掉标题的方法失效,主要是AppCompatActivity根本没标题栏。因为它的ActionBar才是标题栏
3. 在Manifest清单文件中
注册Activity时加上下面这句话进行配置 <activity android:name=".Activity" android:theme="@android:style/Theme.NoTitleBar"> </activity>4. 在style中添加属性,并在清单文件中注册
<!--去掉标题--> <style name="AppThemeTitle" parent="Theme.AppCompat.Light.NoActionBar"/>清单文件在application中写入:
android:theme="@style/AppThemeTitle"5. 在style中全局去设置去掉标题
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> <item name="android:windowActionBar">false</item> <item name="android:windowNoTitle">true</item> </style>6. 有的需求不一样,想要设置全局、整个应用为全屏或者去掉标题
在你的清单文件中的application中去设置,找到相对应的application节点
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" ---- 设置全屏 android:theme="@android:style/Theme.NoTitleBar" ---- 去掉标题栏7. 在代码设置全屏显示
//去掉状态栏 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);8. 在使用的时候,不要在清单文件中去给相对应的activity去设置如下style
在AndroidManifest.xml清单文件中,找到相应的Activity节点;
<activity android:name=".MainActivity" android:theme="@android:style/Theme.NoTitleBar" /> ---- 去掉标题栏或者:
<activity android:name=".RoteMillageActivity" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" /> ---- 设置全屏至于为什么,有时候运行你的项目,它会奔溃
解决办法,改为如下:(这个是没有标题栏)
android:theme="@style/Theme.Design.Light.NoActionBar"最终总结一下:
去掉标题的方法有很多,我只是介绍了几种常用的,后期在给大家更新吧
