6.7.0 - Alpha13 - 修复 "三按钮" 手势导航时导航栏前景色与夜间模式关联异常

This commit is contained in:
SuperMonster003
2025-12-30 16:18:21 +08:00
parent 0d37b9e5ee
commit 8814ecc411
4 changed files with 15 additions and 4 deletions

View File

@@ -56,6 +56,9 @@ abstract class BaseActivity : AppCompatActivity() {
ThemeColorManager.setStatusBarBackgroundColor(this)
setUpStatusBarIconLightByThemeColor()
}
if (handleNavigationBarContrastEnforcedAutomatically) {
setUpNavigationBarIconLightByNightMode()
}
}
// @Dubious by SuperMonster003 on Oct 28, 2024.
@@ -83,6 +86,9 @@ abstract class BaseActivity : AppCompatActivity() {
ThemeColorManager.addActivityStatusBar(this)
setUpStatusBarIconLightByThemeColor()
}
if (handleNavigationBarContrastEnforcedAutomatically) {
setUpNavigationBarIconLightByNightMode()
}
}
override fun onResume() {
@@ -102,6 +108,10 @@ abstract class BaseActivity : AppCompatActivity() {
ViewUtils.setStatusBarIconLight(this, ViewUtils.isNightModeEnabled)
}
protected fun setUpNavigationBarIconLightByNightMode() {
ViewUtils.setNavigationBarIconLight(this, ViewUtils.isNightModeEnabled)
}
protected fun setUpStatusBarIconLightByThemeColor() {
ThemeColorManager.setStatusBarIconLight(this)
}

View File

@@ -349,7 +349,7 @@ object ViewUtils {
}
fun setNavigationBarIconLight(activity: Activity, isLight: Boolean) {
WindowInsetsControllerCompat(activity.window, activity.window.decorView).isAppearanceLightNavigationBars = isLight
WindowInsetsControllerCompat(activity.window, activity.window.decorView).isAppearanceLightNavigationBars = !isLight
}
fun setNavigationBarIconLightByColorLuminance(activity: Activity, @ColorInt referenceBackgroundColor: Int) {