沉浸式状态栏一片白的bug修复

4.4-5.0的设置:

通过 addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)

在布局里设置fitSystemWindow=true

5.0以后已经支持直接修改状态栏背景颜色和底部导航栏背景颜色。

window.setStatusBarColor(Color.WHITE);//设置状态栏颜色

window.setNavigationBarColor(Color.WHITE);// 自己设置导航栏颜色


        
6.0以后可以设置状态栏字体亮度,8.1以后可以设置导航栏字体亮度

       (先不写代码了,后面有代码,可以下载)
            
对于5.0以后如果个别页面需要布局延伸到状态栏,比如欢迎页面的图片需要延伸到状态栏。
此时需要单独配置 
            getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
并且不能设置fitSystemWindow=true


但是这样做,会有一堆bug。

第一:4.4-5.0部分手机上可能会出现状态栏一片白的情况。可能会出现导航栏遮挡布局的情况。

第二:5.0-6.0部分手机上可能会出现状态栏一片白的情况。因为5.0就可以设置状态栏背景颜色,但是6.0才能设置状态栏字体的明暗程度。

第三:5.0-8.1部分手机上可能会出现导航栏一片白的情况。因为5.0就可以设置导航栏背景颜色,但是8.1才能设置导航栏字体的明暗程度。

         设置沉浸式布局后,手机状态栏或导航栏出现白屏。-Android文档类资源-CSDN下载

经过修改,4.4-6.0部分手机上可能会出现状态栏一片白的情况。可能会出现导航栏遮挡布局的情况。

6.0以上的手机不再出现状态栏或导航栏白屏问题。理论上也不会出现导航栏遮挡布局的情况。

因为导航栏遮挡布局,是因为设置了

addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)

现在bug已经被压缩到了4.4-6.0手机上。对于导航栏遮挡布局,网上有很多方法,不知道管不管用。因为没有低版本测试机,无法测试。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值