Skip to content

Commit 242bfb7

Browse files
author
ifan
committed
适配android 10以上透明色不全透明的问题
1 parent 4197584 commit 242bfb7

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

immersionbar-sample/src/main/java/com/gyf/immersionbar/sample/activity/MainActivity.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -258,9 +258,9 @@ public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
258258
if (ImmersionBar.hasNavigationBar(this)) {
259259
BarParams barParams = ImmersionBar.with(this).getBarParams();
260260
if (barParams.fullScreen) {
261-
ImmersionBar.with(this).fullScreen(false).navigationBarColor(R.color.colorPrimary).init();
261+
ImmersionBar.with(this).fullScreen(false).navigationBarColor(R.color.colorPrimary).navigationBarDarkIcon(false).init();
262262
} else {
263-
ImmersionBar.with(this).fullScreen(true).transparentNavigationBar().init();
263+
ImmersionBar.with(this).fullScreen(true).transparentNavigationBar().navigationBarDarkIcon(true).init();
264264
}
265265
} else {
266266
Toast.makeText(this, "当前设备没有导航栏或者导航栏已经被隐藏或者低于4.4系统", Toast.LENGTH_SHORT).show();

immersionbar/src/main/java/com/gyf/immersionbar/ImmersionBar.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -418,6 +418,9 @@ private int initBarAboveLOLLIPOP(int uiFlags) {
418418
mWindow.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
419419
//设置状态栏颜色
420420
if (mBarParams.statusBarColorEnabled) {
421+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
422+
mWindow.setStatusBarContrastEnforced(false);
423+
}
421424
mWindow.setStatusBarColor(ColorUtils.blendARGB(mBarParams.statusBarColor,
422425
mBarParams.statusBarColorTransform, mBarParams.statusBarAlpha));
423426
} else {
@@ -426,6 +429,9 @@ private int initBarAboveLOLLIPOP(int uiFlags) {
426429
}
427430
//设置导航栏颜色
428431
if (mBarParams.navigationBarEnable) {
432+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
433+
mWindow.setNavigationBarContrastEnforced(false);
434+
}
429435
mWindow.setNavigationBarColor(ColorUtils.blendARGB(mBarParams.navigationBarColor,
430436
mBarParams.navigationBarColorTransform, mBarParams.navigationBarAlpha));
431437
} else {

0 commit comments

Comments
 (0)