Step 1. Add the JitPack repository to your build file
Add it in your root settings.gradle at the end of repositories:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral()
maven { url 'https://jitpack.io' }
}
}
Add it in your settings.gradle.kts at the end of repositories:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral()
maven { url = uri("https://jitpack.io") }
}
}
Add to pom.xml
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
Add it in your build.sbt at the end of resolvers:
resolvers += "jitpack" at "https://jitpack.io"
Add it in your project.clj at the end of repositories:
:repositories [["jitpack" "https://jitpack.io"]]
Step 2. Add the dependency
dependencies {
implementation 'com.github.ltym2016:statusbarutils:1.0.9'
}
dependencies {
implementation("com.github.ltym2016:statusbarutils:1.0.9")
}
<dependency>
<groupId>com.github.ltym2016</groupId>
<artifactId>statusbarutils</artifactId>
<version>1.0.9</version>
</dependency>
libraryDependencies += "com.github.ltym2016" % "statusbarutils" % "1.0.9"
:dependencies [[com.github.ltym2016/statusbarutils "1.0.9"]]
在Android系统4.4以前,状态栏的背景色和字体颜色都是不能改变的。默认为黑色。
<img src="https://github.com/ltym2016/StatusBarUtils/blob/master/image/4.3.png" width="350"/><img src="https://github.com/ltym2016/StatusBarUtils/blob/master/image/4.3.1.png" width="350"/>
在Android系统4.4到5.0(不包括5.0)并且非miui和非Flyme系统,状态栏的背景设置为黑色。
<img src="https://github.com/ltym2016/StatusBarUtils/blob/master/image/4.3.png" width="350"/><img src="https://github.com/ltym2016/StatusBarUtils/blob/master/image/4.3.1.png" width="350"/>
在Android5.系列的系统上,可以设置状态栏的颜色,但不可以改变状态栏字体和图标的颜色。所以这里统一设置为半透明效果,可以通过setStatusBarColor设置状态栏的背景色,但是部分华为机型不支持setStatusBarColor的方式,只能是黑色,至少保证状态栏图标可见。
<img src="https://github.com/ltym2016/StatusBarUtils/blob/400c0dcd783143b3daf06317d2bb3dfd0687a4b5/image/5.0.png" width="350"/><img src="https://github.com/ltym2016/StatusBarUtils/blob/400c0dcd783143b3daf06317d2bb3dfd0687a4b5/image/5.1.png" width="350"/>
部分华为机型不支持setStatusBarColor的方式,只能是黑色
<img src="https://github.com/ltym2016/StatusBarUtils/blob/master/image/4.3.png" width="350"/><img src="https://github.com/ltym2016/StatusBarUtils/blob/master/image/4.3.1.png" width="350"/>
这里如果想设置状态栏的颜色和标题栏颜色一样,可以在标题栏上方放一个View,动态的设置view的高度为状态栏的高度。
4.4以上的MIUI和Flyme系统以及Android6.0以上系统机型适配沉浸式状态栏,可以通过StatusBarUtils里面相关方法设置状态栏字体和图标的颜色切换
miui 小米
<img src="https://github.com/ltym2016/StatusBarUtils/blob/400c0dcd783143b3daf06317d2bb3dfd0687a4b5/image/miui.png" width="350"/><img src="https://github.com/ltym2016/StatusBarUtils/blob/400c0dcd783143b3daf06317d2bb3dfd0687a4b5/image/miui1.png" width="350"/>
flyme 魅族
<img src="https://github.com/ltym2016/StatusBarUtils/blob/400c0dcd783143b3daf06317d2bb3dfd0687a4b5/image/meizu.png" width="350"/><img src="https://github.com/ltym2016/StatusBarUtils/blob/400c0dcd783143b3daf06317d2bb3dfd0687a4b5/image/meizu1.png" width="350"/>
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
implementation 'com.github.ltym2016:StatusBarUtils:1.0.6'
android:fitsSystemWindows="true"
// isOpen=true开启,false关闭,默认关闭
StatusBarUtils.transparencyBar(Activity activity, boolean isOpen)
/**
* 开启沉浸式状态栏
*
* @param activity
* @param isOpen 是否开启蒙层效果的状态栏(在5.0以上机型适用)
*/
public static void transparencyBar(Activity activity, boolean isOpen) {
isOpenMonLayer = isOpen;
transparencyBar(activity,0x40000000);
}
// 设置状态栏黑色字体图标 适配4.4以上版本的MIUI、Flyme和6.0以上版本其他Android
StatusBarUtils.StatusBarIconDark(Activity activity)
// 设置状态栏白色字体图标 适配4.4以上版本的MIUI、Flyme和6.0以上版本其他Android
StatusBarUtils.StatusBarIconLight(Activity activity)
如果StatusBarUtils.transparencyBar(Activity activity, boolean isOpen)的isOpen设置为true,上面的方面可以不调用。