Android简单粗暴地去掉标题栏以及全屏

xiaoxiao2025-10-16  13

总结的几种去掉标题的方式:

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"

最终总结一下:

去掉标题的方法有很多,我只是介绍了几种常用的,后期在给大家更新吧

转载请注明原文地址: https://www.6miu.com/read-5038019.html

最新回复(0)