定义 Jetpack Compose 主题时重用 xml 中的颜色

kin*_*ton 3 android android-jetpack-compose

我知道使用 Jetpack Compose 我可以在 Kotlin 文件中定义颜色。由于我正在迁移一个以前不使用 Jetpack Compose 的应用程序,因此我想继续指向 XML 中的颜色,直到我删除已经使用它们的所有位置。

我知道我可以colorResource在 @Composable 函数中使用,但当我在 Kotlin 文件中定义调色板时却无法做到这一点。

是否可以做与此等效的事情?

private val DarkColorPalette = darkColors(
    primary = colorResource(id = R.color.company),
    ...
)
Run Code Online (Sandbox Code Playgroud)

kin*_*ton 7

我的方法是使用 @Composable 函数,甚至用于颜色的定义:

@Composable
fun darkColorPalette() = darkColors(
    primary = colorResource(id = R.color.company),
)
Run Code Online (Sandbox Code Playgroud)

  • 我打算使用外部可组合上下文,“colorResource”在那里不起作用 (2认同)