Android XML Color 显示为灰色?

标签 android colors

我正在尝试将 Paint.setColor() 与来自 res/values/colors.xml 的颜色一起使用,但它一直显示为“灰色”。如果我改用字符串文字并使用 Paint.parseColor() 它会正确显示。怎么回事?

onDraw()

p.setColor (Color.parseColor ("#82ef82")); // <- this works
p.setColor (R.color.PeaGreen); // <- this is gray

颜色.xml

<color name="PeaGreen">#82ef82</color>

最佳答案

R.color.PeaGreen 不是颜色,它是颜色资源的资源 ID。但由于颜色由整数表示,资源 ID 也由整数表示,因此它不会抛出任何警告或错误。您需要做一些工作才能从资源 ID 获取实际颜色:

p.setColor(context.getResources().getColor(R.color.PeaGreen));

Color 中也定义了一些颜色常量。类,您可以像这样使用它们:

p.setColor(Color.RED);

关于Android XML Color 显示为灰色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13954894/

相关文章:

使用 Android Q 拒绝 AndroidAudioConverter 权限

java - 错误 : java. util.concurrent.ExecutionException : com. android.builder.internal.aapt.v2.Aapt2Exception: 在 Windows 10 上编译时出现 AAPT2 错误

Android 3.0 - 究竟使用 LoaderManager 实例有什么优势?

android 屏幕方向检测错误?

java - java 中十六进制数字的 extratinf RGB 分量

matlab - 特定颜色轮廓

java - 创建具有不同颜色的颜色数组

java - 另一个注释处理器使用的生成类

python - 如何计算 python 中图像上的红色和黄色多边形?

javascript - 根据数据中的附加列更改 d3 Sankey 图中的节点颜色