这是一个为Android App 设置状态栏的工具类, 可以在4.4及其以上系统中实现 沉浸式状态栏/状态栏变色,支持设置状态栏透明度
设置状态栏颜色
StatusBarUtil.setColor(Activityactivity,intcolor)
设置状态栏半透明
StatusBarUtil.setTranslucent(Activityactivity,intstatusBarAlpha)
设置状态栏全透明
StatusBarUtil.setTransparent(Activityactivity)
为包含DrawerLayout的界面设置状态栏颜色(也可以设置半透明和全透明)
StatusBarUtil.setColorForDrawerLayout(Activityactivity,DrawerLayoutdrawerLayout,intcolor)
为使用 ImageView 作为头部的界面设置状态栏透明
StatusBarUtil.setTranslucentForImageView(Activityactivity,intstatusBarAlpha,ViewneedOffsetView)
在 Fragment 中使用
为滑动返回界面设置状态栏颜色
推荐配合bingoogolapple/BGASwipeBackLayout-Android: Android Activity 滑动返回这个库一起使用。
StatusBarUtil.setColorForSwipeBack(Activityactivity,@ColorIntintcolor,intstatusBarAlpha)
通过传入statusBarAlpha参数,可以改变状态栏的透明度值,默认值是112。
在 build.gradle 文件中添加依赖, StatusBarUtil 已经发布在 JCenter:
compile'com.jaeger.statusbarutil:library:1.4.0'
在setContentView()之后调用你需要的方法,例如:
setContentView(R.layout.main_activity);...StatusBarUtil.setColor(MainActivity.this,mColor);
如果你在一个包含DrawerLayout的界面中使用, 你需要在布局文件中为DrawerLayout添加android:fitsSystemWindows="true"属性:
...
滑动返回界面设置状态栏颜色:
建议配合bingoogolapple/BGASwipeBackLayout-Android: Android Activity 滑动返回库一起使用。
StatusBarUtil.setColorForSwipeBack(Activityactivity,@ColorIntintcolor,intstatusBarAlpha)
当你设置了statusBarAlpha值时,该值需要在 0 ~ 255 之间
在 Fragment 中的使用可以参照UseInFragmentActivity.java来实现