我在使用 Jetpack Compose 构建的 Android 应用程序时遇到问题。尽管寻找解决方案,但我还没有找到问题的正确答案。
在我的应用程序中,在浅色模式下,文本和图标(例如时间、Wi-Fi、信号等)显示为白色,而在深色模式下,它们显示为黑色。
我的目标是自定义此行为,以便在浅色模式下,它们显示为 Color.DarkGray,而在深色模式下,它们显示为 Color.LightGray。
虽然我在其他问题中遇到了一些代码片段,但它们现在已被弃用。
此外,即使它们有效,它们似乎也只是修改了状态栏,而不是预期的文本和图标。”
如何更改Android状态栏默认文本颜色
fun MyTheme {
...
val systemUiController = rememberSystemUiController()
val useDarkIcons = !isSystemInDarkTheme()
SideEffect {
systemUiController.setStatusBarColor(
color = Color(0xff655D8A),
darkIcons = !useDarkIcons
)
...
}
我正在使用 Android Studio Giraffe
这是我的 build.gradle 应用程序
...
android {
namespace = "com.kumuda.jetweatherforecast"
compileSdk = 34
defaultConfig {
applicationId = "com.kumuda.jetweatherforecast"
minSdk = 32
targetSdk = 33
versionCode = 1
versionName = "1.0"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables {
useSupportLibrary = true
}
}
buildTypes {
release {
isMinifyEnabled = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = "17"
}
buildFeatures {
compose = true
}
composeOptions {
kotlinCompilerExtensionVersion = "1.4.3"
}
packaging {
resources {
excludes += "/META-INF/{AL2.0,LGPL2.1}"
}
}
}
...
我想改变状态栏的颜色文本, 有人可以帮助我吗?
val a = true/false
val b = !a
val c = !b
a == c always true
尝试
SideEffect {
systemUiController.setStatusBarColor(
color = Color(0xff655D8A),
darkIcons = useDarkIcons
)