当前位置:   article > 正文

Android设置不显示标题栏和状态栏_android 去掉标题栏

android 去掉标题栏

项目场景:

Android开发中,不显示标题栏和状态栏通常用于全屏应用或者需要沉浸式用户体验的场景。以下是一些可能需要这种设置的项目场景:

视频播放应用:在观看视频时,用户可能希望获得无干扰的观看体验,因此隐藏标题栏和状态栏可以提供更宽广的视野。

游戏应用:许多游戏需要全屏显示以提供沉浸式体验,隐藏这些栏可以避免界面元素干扰玩家的视线。


问题描述

提示:这里描述项目中遇到的问题:

去掉标题栏:(分两种情况,一是继承AppCompatActivity,二是继承Activity

在这里插入图片描述

解决方式一:代码中实现

继承Activity的情况如果Activity继承Activity,则在onCreate()之后,setContentView()之前添加

requestWindowFeature(Window.FEATURE_NO_TITLE); //不显示标题栏
  • 1

在这里插入图片描述
继承AppCompatActivity的情况如果Activity继承AppCompatActivity,则在onCreate()中添加

//方式一:这句代码必须写在setContentView()方法的后面
getSupportActionBar().hide();

//方式二:这句代码必须写在setContentView()方法的前面
supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述

解决方式二:在清单文件(AndroidManifest.xml)里面实现

继承Activity的情况

<application android:icon="@drawable/icon"   
        android:label="@string/app_name"   
        android:theme="@android:style/Theme.NoTitleBar"> 

<!--或者只对某个activity设置-->
<activity android:name="xxxx.xxxxx.xxxx.activity"
            android:theme="@android:style/Theme.NoTitleBar"/>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

继承AppCompatActivity的情况

<application
   android:theme="@style/Theme.AppCompat.NoActionBar">

<!--或者只对某个activity设置-->
<activity android:name="xxxx.xxxxx.xxxx.activity"
            android:theme="@style/Theme.AppCompat.NoActionBar"/>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

解决方式三:在style.xml文件里定义

继承Activity的情况
res/values目录下面新建一个style.xmltheme.xml都可以)的文件

<?xml version="1.0" encoding="UTF-8" ?>  
<resources>  
    <style name="notitle">  
        <item name="android:windowNoTitle">true</item>  
    </style>   
</resources>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

然后在manifest.xml中引用就可以了

<application android:icon="@drawable/icon"   
        android:label="@string/app_name"   
        android:theme="@style/notitle"> 

<!--或者只对某个activity设置-->
<activity android:name="xxxx.xxxxx.xxxx.activity"
            android:theme="@style/notitle"/>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

继承AppCompatActivity的情况
res/values目录下面新建一个style.xmltheme.xml都可以)的文件,它把功能分开的;对于后期的维护非常方便

<style name="Theme.myTheme" parent="Theme.AppCompat.Light.NoActionBar"/>
  • 1

AndroidManifest.xml中使用

android:theme="@style/Theme.myTheme"
  • 1

在这里插入图片描述

去掉状态栏:

Activity的onCreate()中添加

getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN);//隐藏状态栏
  • 1

但是上面的方式,有点bug,如果你自己下拉,显示了状态栏,它就一直显示了,改用下面的方式,下拉显示状态栏之后,过一会儿会自动隐藏

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);//隐藏状态栏
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/960279
推荐阅读
相关标签
  

闽ICP备14008679号