【问题标题】:Jetpack Compose theming: difference between XML theme file and Kotlin theme fileJetpack Compose 主题:XML 主题文件和 Kotlin 主题文件的区别
【发布时间】:2021-12-30 11:47:13
【问题描述】:
我是一名 Android 初学者,我正在开始使用 Jetpack Compose。我对新 Compose 项目模板创建的这两个集合文件感到困惑:themes.xml 与 Theme.kt,以及 colors.xml 与 Color.kt。 colors.xml 和 Color.kt 都包含颜色定义,themes.xml 和 Theme.kt 都包含原色定义。
XML 文件和 Kotlin 文件有什么区别?我应该手动同步他们的内容吗?
【问题讨论】:
标签:
kotlin
android-jetpack-compose
android-theme
【解决方案1】:
XML 文件和 Kotlin 文件有什么区别?
默认情况下,android 使用 XML 文件来设置主题...如果您使用的是 compose(显然您正在这样做),那么您需要像这样设置主题
setContent {
AppThemeName { //AppThemeName is the name of your theme .. its autogenerated at the beginning by AppName+Theme
}
}
Compose 使用Theme.kt 获取主题信息,同样使用Color.kt 获取颜色
我应该手动同步他们的内容吗?
不,但这取决于...通常,如果您在整个应用程序中只使用撰写,那么您不需要手动同步 XML 文件,因为 Theme.kt 文件包含您将使用的主题信息。
但在某些情况下,您需要在 theme.xml 中提及一些属性,例如 windowSplashScreenAnimatedIcon, statusBarColor,这些属性在 compose Theme.kt 中默认无法定义