如何强制关闭 Jetpack Compose 的暗模式主题
How to force close dark mode theme for Jetpack Compose
我写了一些 Jetpack Compose Demo,但我发现了关于适应暗模式的库错误,因此我只想在我的应用程序中显示亮模式,但是当我设置 <item name="android:forceDarkAllowed" tools:targetApi="q">false</item>
和 AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)
时,那些不起作用,是否知道仅适用于 Jetpack Compose 的 show light 模式?
xml 中未定义我们用于合成的颜色,应该如下所示:
@Composable
fun MyComposeTheme(
darkTheme: Boolean = isSystemInDarkTheme(),
content: @Composable () -> Unit
) {
val colors = if (darkTheme) {
DarkColorPalette
} else {
LightColorPalette
}
MaterialTheme(
colorScheme = colors,
content = content
)
}
如您所见,您可以在 MaterialTheme 函数调用中传递任何颜色,只需删除黑暗模式检查即可。
只需在 res/theme.xml 和 res/theme.xml(夜间)文件中添加一个项目,在暗模式和亮模式下都是 <item name="android:windowBackground">@color/white</item>
将是白色的。
谢谢。
我写了一些 Jetpack Compose Demo,但我发现了关于适应暗模式的库错误,因此我只想在我的应用程序中显示亮模式,但是当我设置 <item name="android:forceDarkAllowed" tools:targetApi="q">false</item>
和 AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)
时,那些不起作用,是否知道仅适用于 Jetpack Compose 的 show light 模式?
xml 中未定义我们用于合成的颜色,应该如下所示:
@Composable
fun MyComposeTheme(
darkTheme: Boolean = isSystemInDarkTheme(),
content: @Composable () -> Unit
) {
val colors = if (darkTheme) {
DarkColorPalette
} else {
LightColorPalette
}
MaterialTheme(
colorScheme = colors,
content = content
)
}
如您所见,您可以在 MaterialTheme 函数调用中传递任何颜色,只需删除黑暗模式检查即可。
只需在 res/theme.xml 和 res/theme.xml(夜间)文件中添加一个项目,在暗模式和亮模式下都是 <item name="android:windowBackground">@color/white</item>
将是白色的。
谢谢。