android状态栏半透明灰色,快速解决Android7.0下沉浸式状态栏变灰的问题

本文主要介绍了Android应用在7.0及以上系统中出现沉浸式状态栏变灰的问题及其解决方法。通过分析DecorView源码,发现7.0系统新增了mSemiTransparentStatusBarColor属性导致状态栏灰色。解决思路是通过反射修改DecorView的mSemiTransparentStatusBarColor为透明,确保代码在setContentView之前执行。
摘要由CSDN通过智能技术生成

1.绪论

现在基本上所有的应用都会去实现沉浸式状态栏,这个是应用的标配,如果你开发的应用没有,那这个吐槽点就多了,“这美工有审美观么”“程序猿这么菜,沉浸式都不会?”….. 咳咳….. 开个玩笑啊,各有各的设计思想,不能怪程序猿。

2.问题

那么说到沉浸式状态栏的问题是什么呢?不知道大家有没有遇到过,应用在android7.0系统以下的手机上运行,沉浸式状态栏是正常的,但是在7.0以上的手机上运行就感觉没有沉浸式了,是分层的。无论怎么修改状态栏背景色都没用,看下图:图1是7.0以下运行效果,图2是7.0以上运行效果。

be1d6da8441dfc7896cc0538260dde8f.png

7bd1d378c7d1c6a93f1318df81fbd118.png

看到上面两幅图,明显感觉到7.0系统做了处理,在状态栏上蒙了一层灰色背景。

3.解决方法

首先,先普及下知识:

DecorView是整个Window界面的最顶层View,它只有一个子元素为LinearLayout。代表整个Window界面,包含通知栏,标题栏,内容显示栏三块区域。

DecorV

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值