Ale*_*nko 4 android-jetpack android-jetpack-compose android-compose-textfield
我需要使用资源来支持不同的颜色BuildVars,所以我有Color.kt定义颜色的文件,问题是如果我从colors.xml这样的资源中获取颜色
val MyWhiteColor: Color = Color(R.color.my_white_color)
Run Code Online (Sandbox Code Playgroud)
并像这样使用它
Text(
text = ...,
style = TextStyle(
color = MyWhiteColor
)
)
Run Code Online (Sandbox Code Playgroud)
但是,如果我将实现更改为,我会得到蓝色而不是白色
val MyWhiteColor: Color = Color(android.graphics.Color.parseColor("#FFFFFF"))
Run Code Online (Sandbox Code Playgroud)
它按预期工作,我得到白色。
我缺少什么?colors.xml为什么当我从颜色中获取值时会转换为蓝色?
您无法从 Composable 外部的 XML 资源文件加载,因为 Compose 需要上下文,并且它还必须对配置更改做出反应。
您可以仅在 Color.kt 中定义颜色而不使用 XML 颜色资源,也可以使用以下方式从可组合项中的资源加载:
colorResource(R.color.my_white_color)
| 归档时间: |
|
| 查看次数: |
3691 次 |
| 最近记录: |