透明状态栏(StatusBar)的全适配全透明手机「透明状态栏(StatusBar)的全适配」

   日期:2025-01-14    作者:hckmu 移动:http://g8akg8.riyuangf.com/mobile/quote/948.html

状态栏指定android手机上顶部显示手机状态信息的位置。

透明状态栏是android 自4.4开始新加入的功能,他可以是状态栏根据我们自己想要的颜色进行定义,使titleBar能够和状态栏融为一体,增加沉浸感。

实现中遇到的阻碍

因为状态栏是在4.4加入的,所以在4.4以前的系统上无法实现。现在世面上的手机android4.4一下的占比不是很大,所以不是太影响。

网上有很多关于透明状态栏实现的技术博客,以及我之前的博客透明状态栏(沉浸式状态栏)中,实现方式为通过设置和实现。

但通过属性设置的方式在使用中会出现沉浸状态不一样的现象,在5.0及以上的系统中使用透明状态栏不是完全透明的,会在透明的基础上添加一层半透明的阴影,非常的不友好。于是解决在不同系统版本之间的适配是主要问题。

对于透明状态栏,有以下两种情况

  • 设置状态栏为一个单纯的颜色。
  • 顶部是图片时,使图片沉浸到状态栏上。

对于适配,有以下两种情况需要适配

  • 4.4系统

  • 5.0及以上系统

那么思路如下

  • 当状态栏需要设置一个单纯的颜色时

    • 4.4:设置属性,并且手动添加一个和状态栏高度等高的View。
    • 5.0及以上:不设置属性,直接设置的色值。
  • 当状态栏需要设置一个图片

    • 4.4:直接设置属性。
    • 5.0:不设置,同时设置状态栏颜色透明,并使用另一个属性。

代码实现

注释已经很详细了,不做过多的解释。

使用

注意:StatusBarUtils中已经完全处理,使用时xml文件中不需要添加特殊处理。

  • MainActivity(设置状态栏为一个纯色)

xml文件

java文件

  • ImageViewTranslucentActivity(顶部为图片

文件

java文件

效果

  • 4.4效果

这里写图片描述

这里写图片描述

  • 5.0及以上的效果

这里写图片描述


特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号