三步实现沉浸式状态栏

        我这个人不喜欢废话。直接进入正题:首先必须是android api19以上,也就是android4.4版本以上才行。

效果图

第一步:在你的最外层布局,根布局加上如下属性
android:clipToPadding="true"
android:fitsSystemWindows="true"
android:background="@color/colorAccent"//这个就是你的状态栏颜色
第二步:在你的onCreate方法里面加上如下代码
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {//判断sdk版本
            // 透明状态栏
            getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
            // 透明导航栏
            getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
        }
第三部:去掉标题。在你的setContentView方法之前加上如下代码
requestWindowFeature(Window.FEATURE_NO_TITLE);
    如果你的activity继承的AppCompatActivity,则无法去掉标题。听话孩纸,就继承Activity多好,乖。偏不?非要继承AppCompatActivity?真拿你没办法,那你在继续在onCreate方法里面加上如下代码即可。
if (getSupportActionBar() != null){
   getSupportActionBar().hide();
}
    自此。效果应该实现了,其实,你也应该想到了并不是设置的状态栏的背景颜色,而是通过设置根布局的背景颜色从而达到设置状态栏颜色的效果。

注意:如果根布局中没有加那属性,就设置了后面的属性,那么,整个页面都会向上偏移一个状态栏的高度,即页面会填充状态栏。效果如下图

这里写图片描述

    这样的需求也是有的,就看你有没有碰到。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海晨忆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值