Android Activity去除标题栏和状态栏

本文介绍了四种在Android中去除Activity标题栏和状态栏的方法:1) 在代码中通过requestWindowFeature和setFlags实现;2) 在AndroidManifest.xml中设置主题为Theme.NoTitleBar.Fullscreen;3) 在style.xml中定义AppTheme.NoActionBar风格;4) 对于继承自AppCompatActivity的情况,可以使用hide()方法或者支持库的supportRequestWindowFeature。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Activity去除标题栏和状态栏总共有三种方式:

1)在代码中实现


在onCreate()方法中添加下面的的代码(一定要写在setContentView()前面):

//去掉标题栏
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
//设置全屏
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);

但要注意的是:在代码中设置的话,设置无标题和设置全屏的两段代码要放置在 setContentView(R.layout.main)(界面渲染,完成了再全屏是不行的)这段代码的前面。要不然会报错,且在进入界面时会短暂显示状态栏,然后马上隐藏。


2)在清单文件AndroidManifest.xml文件里的application下修改


android:theme="@android:style/Theme.NoTitleBar.Fullscreen"


3)在style.xml文件中定义


<style name="AppTheme.NoActionBar">
    <!-- 隐藏标题栏 -->
    <item name="windowNoTitle">true</item>
    <!-- 隐藏状态栏 -->
    <item name="android:windowFullscreen">true</item>
</style>


然后在AndroidManifest.xml文件里的application下引用
android:theme="@style/AppTheme.NoActionBar"

 

requestWindowFeature(Window.FEATURE_NO_TITLE)无效解决方法:
       正常情况下requestWindowFeature(Window.FEATURE_NO_TITLE)是可以生效的,但是当Activity继承子AppCompatActivity的时候,这个就失效了 
解决办法:
1、手动在oncreate里调用hide()
if (getSupportActionBar() != null){
   getSupportActionBar().hide();
}
2、第二种最简单 直接用supportrequestwindowFeature好了:
       supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
3、第三种 直接修改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>
4、第四种:
       对应的Activity 注册中:添加 android:theme="@style/Theme.AppCompat.NoActionBar"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值