diff --git a/app/src/main/kotlin/li/songe/gkd/MainActivity.kt b/app/src/main/kotlin/li/songe/gkd/MainActivity.kt index c25bb35b7..98315d985 100644 --- a/app/src/main/kotlin/li/songe/gkd/MainActivity.kt +++ b/app/src/main/kotlin/li/songe/gkd/MainActivity.kt @@ -5,6 +5,7 @@ import android.app.ActivityManager import android.content.Context import android.content.Intent import android.graphics.Color +import android.os.Build import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent @@ -67,6 +68,7 @@ class MainActivity : ComponentActivity() { installSplashScreen() enableEdgeToEdge() fixTopPadding() + fixTransparentNavigationBar() super.onCreate(savedInstanceState) mainVm launcher @@ -188,6 +190,16 @@ fun syncFixState() { } } +private fun Activity.fixTransparentNavigationBar() { + // 修复在浅色主题下导航栏背景不透明的问题 + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { + window.isNavigationBarContrastEnforced = false + } else { + @Suppress("DEPRECATION") + window.navigationBarColor = Color.TRANSPARENT + } +} + private fun Activity.fixTopPadding() { // 当调用系统分享时, 会导致状态栏区域消失, 应用整体上移, 设置一个 top padding 保证不上移 var tempTop: Int? = null