所以在当前andriod的开发中,如果我们需要引用一个主题中的颜色集,我们可以简单地做到:(在布局xml中)
....
<TextView
...
android:textColor="?attr/colorPrimary"
.../>
....
如果我在主题中设置了蓝色,我会在上面的文本视图中得到这个颜色。
我想知道如何在Jetpack Compose
中做同样的事情。在Compose
中,我们做了,
MaterialTheme(...) {
Column {
Text(
...
textStyle = TextStyle(color = ????) // How to I reference to the theme?
)
}
}
4条答案
按热度按时间dgtucam11#
您可以使用类似于以下内容的内容:
ioekq8ef2#
Compose提供基于材质颜色规范的
ColorPalette
来生成应用主题。它提供lightColorPalette
和darkColorPalette
来分别定义亮模式和暗模式的主题。如果你想添加更多的自定义颜色到你的主题,你可以使用
ColorPalette
与扩展变量,如下所示现在,您可以使用
MaterialTheme.colors.myColor
来包含。如果你想包含来自android colors xml的颜色,你可以使用
colorResource(id = R.color.anyName)
函数。yacmzcpb3#
您可以尝试以下操作:
zphenhs44#
为了从属性中获取颜色,我使用了这个可组合函数:
用法: