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

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

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"

最终总结一下:

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

这个是我最近写的另外的一种方式,感兴趣的可以去参考一下:
按照不同的需求,然后去实现不同的案例。例如:去掉app的ActionBar之后,不想全屏显示,而想动态改变手机顶部状态条,该如何实现?就可以参考我下面这篇章!

Android 详细讲解修改app状态栏颜色

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值