您当前的位置:首页 > 计算机 > 编程开发 > 安卓(android)开发

Android 状态栏工具类(实现沉浸式状态栏/变色状态栏)

时间:02-11来源:作者:点击数:

测试结果:

华为荣耀 4A Android版本5.1.1 状态栏始终无法调节(微信也无法调节状态栏,是华为系统自己禁止了状态栏)。

小米4 可以调节。

这是一个为AndroidApp设置状态栏的工具类,可以在4.4及其以上系统中实现沉浸式状态栏/状态栏变色,支持设置状态栏透明度,满足你司设计师的各种要求(雾)。

在此之前我写过一篇AndroidApp沉浸式状态栏解决方案,后来我司设计师说默认的透明度太深了,让我改浅一点,然后在想了一些办法之后给解决了。本着不重复造轮子的原则,索性整理成一个工具类,方便需要的开发者。

项目GitHub地址

Sample 下载

下载StatusBarUtil-Demo

特性

1.设置状态栏颜色

StatusBarUtil.setColor(Activityactivity,intcolor)

2.设置状态栏半透明

StatusBarUtil.setTranslucent(Activityactivity,intstatusBarAlpha)
3. 设置状态栏全透明
StatusBarUtil.setTransparent(Activity activity)
4. 为包含DrawerLayout的界面设置状态栏颜色(也可以设置半透明和全透明)
StatusBarUtil.setColorForDrawerLayout(Activity activity, DrawerLayout drawerLayout, int color)
5. 通过传入statusBarAlpha参数,可以改变状态栏的透明度值,默认值是112。

使用

1. 在 build.gradle 文件中添加依赖, StatusBarUtil 已经发布在 JCenter:
compile 'com.jaeger.statusbaruitl:library:1.0.0'
2. 在setContentView()之后调用你需要的方法,例如:
setContentView(R.layout.main_activity);
...
StatusBarUtil.setColor(MainActivity.this, mColor);
3. 如果你在一个包含DrawerLayout的界面中使用, 你需要在布局文件中为DrawerLayout添加android:fitsSystemWindows="true"属性:
<android.support.v4.widget.DrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true">

    ...

</android.support.v4.widget.DrawerLayout>
4. 当你设置了statusBarAlpha值时,该值需要在 0 ~ 255 之间
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门