如何强制关闭 Jetpack Compose 的深色模式主题

And*_*ang 6 android android-jetpack android-jetpack-compose

我写了一些 Jetpack Compose 演示,但我发现有关适应暗模式的库错误,因此我想仅在我的应用程序中显示浅色模式,但是当我设置<item name="android:forceDarkAllowed" tools:targetApi="q">false</item>和 时AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO),这些不起作用,任何仅适用于 Jetpack Compose 的显示浅色模式的想法?

Jin*_*tin 4

我们用于撰写的颜色没有在 xml 中定义,应该如下所示:

@Composable
fun MyComposeTheme(
    darkTheme: Boolean = isSystemInDarkTheme(),
    content: @Composable () -> Unit
) {
    val colors = if (darkTheme) {
        DarkColorPalette
    } else {
        LightColorPalette
    }
    MaterialTheme(
        colorScheme = colors,
        content = content
    )
}
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,您可以在 MaterialTheme 函数调用中根据需要传递任何颜色,只需删除深色模式检查即可。