使用 Jetpack Compose 的多主题应用
App with multiple themes using Jetpack Compose
我希望我的应用为用户提供深色主题和浅色主题的选项,应用的主题将成为用户选择的主题。
如何使用 Android Jetpack Compose 完成此操作?
我一直在研究 Android 应用主题化代码实验室,并找到了以下代码片段:
@Composable
fun BasicsCodelabTheme(
darkTheme: Boolean = isSystemInDarkTheme(),
content: @Composable () -> Unit
) {
val colors = if (darkTheme) {
DarkColors
} else {
LightColors
}
MaterialTheme(colors = colors) {
content()
}
}
但是上面的代码是为了改变'system'主题对应的主题,而不是用户在应用程序中选择的。
只需将darkTheme
参数设置为用户定义的值即可。
如果不传递参数,值isSystemInDarkTheme()
只是默认值,您也可以根据需要更改此实现。
某事:
setContent {
BasicsCodelabTheme(darkTheme = true /*user choice */) {
//...
}
我希望我的应用为用户提供深色主题和浅色主题的选项,应用的主题将成为用户选择的主题。
如何使用 Android Jetpack Compose 完成此操作?
我一直在研究 Android 应用主题化代码实验室,并找到了以下代码片段:
@Composable
fun BasicsCodelabTheme(
darkTheme: Boolean = isSystemInDarkTheme(),
content: @Composable () -> Unit
) {
val colors = if (darkTheme) {
DarkColors
} else {
LightColors
}
MaterialTheme(colors = colors) {
content()
}
}
但是上面的代码是为了改变'system'主题对应的主题,而不是用户在应用程序中选择的。
只需将darkTheme
参数设置为用户定义的值即可。
如果不传递参数,值isSystemInDarkTheme()
只是默认值,您也可以根据需要更改此实现。
某事:
setContent {
BasicsCodelabTheme(darkTheme = true /*user choice */) {
//...
}