You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何正确从Android资源获取Jetpack Compose的Color?解决颜色显示错误

问题原因与解决办法

你犯了一个常见的错误:直接把资源ID传给了Compose的Color()构造函数。

R.color.my_white_color本质是一个int类型的资源标识(比如类似0x7f060001的数值),并不是实际的ARGB颜色值。Compose的Color(int)构造函数会把这个ID数值当成ARGB颜色解析,所以才会显示出奇怪的蓝色,而不是你定义的白色。

正确的两种写法:

  1. Compose推荐方式,直接用colorResource解析资源:
val MyWhiteColor: Color = colorResource(id = R.color.my_white_color)
  1. 如果需要先获取原生Color的int值(比如非Compose场景配合使用):
// 需要上下文,比如在Activity或Fragment中
val colorInt = context.getColor(R.color.my_white_color)
val MyWhiteColor: Color = Color(colorInt)

内容的提问来源于stack exchange,提问作者Sirop4ik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 17:39:54