1

res/values/colors.xml の色で Paint.setColor() を使用しようとしていますが、「灰色がかった」状態が続いています。代わりに文字列リテラルを使用して Paint.parseColor() を使用すると、正しく表示されます。どうしたの?

onDraw()

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

色.xml

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

1 に答える 1

2

R.color.PeaGreen色ではなく、色リソースのリソース ID です。ただし、色は整数で表され、リソース ID も同様であるため、警告やエラーは発生しません。リソース ID から実際の色を取得するには、少し作業が必要です。

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

Colorクラスにはいくつかの色定数も定義されており、次のように使用できます。

p.setColor(Color.RED);
于 2012-12-19T14:53:08.773 に答える