Jetpack Compose 主题:XML 主题文件和 Kotlin 主题文件之间的区别

All*_*ain 8 android-theme kotlin android-jetpack-compose

我是一名 Android 初学者,正在开始使用 Jetpack Compose。我对新 Compose 项目模板创建的这两个设置文件感到困惑:themes.xmlvsTheme.ktcolors.xmlvs Color.kt。和colors.xmlColor.kt包含颜色定义,并且 和 都themes.xml包含Theme.kt原色定义。

XML 文件和 Kotlin 文件有什么区别?我应该手动同步他们的内容吗?

Age*_*ntP 6

XML 文件和 Kotlin 文件有什么区别?

默认情况下,android使用XML文件来设置主题...如果你正在使用撰写(这显然是你正在做的)那么你需要像这样设置主题

 setContent {
      AppThemeName { //AppThemeName is the name of your theme .. its autogenerated at the beginning by AppName+Theme
       
        }
 } 
Run Code Online (Sandbox Code Playgroud)

Compose 用于Theme.kt获取主题信息以及类似的Color.kt颜色信息

我应该手动同步他们的内容吗?

不,但这取决于...通常,如果您在整个应用程序中仅使用 compose,则无需手动同步 XML 文件,因为 Theme.kt 文件包含您将使用的主题信息。

但在某些情况下,您需要在 theme.xml 中提及一些属性,例如windowSplashScreenAnimatedIcon, statusBarColor在 compose 中默认无法定义这些属性Theme.kt