ペイントとキャンバスを使用してオブジェクトを描画するカスタムビューがあります。私の質問は設定方法です:
int color = R.color.white;
Paint.setColor(color);
次のようなリソースを含む私の/res/valuse/color.xmlから
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="white">#FFFFFF</color>
<color name="black">#000000</color>
...
</resources>
_int color = ContextCompat.getColor(context, R.color.white);
Paint.setColor(color);
_
setColor()
メソッドは、色番号をint
値として受け取りますが、int
であるリソースIDも受け取りません。
最初にxmlファイルから色を取得します
int color = context.getResources().getColor(R.color.colorPrimary); // old
廃止されました。代わりにこれを使用してください
int color = ContextCompat.getColor(context, R.color.colorPrimary); // new
色を設定する
Paint.setColor(color);
xmlファイルのプレビュー:res/values/color.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorPrimary">#3F51B5</color>
<color name="colorPrimaryDark">#303F9F</color>
<color name="colorAccent">#FF4081</color>
</resources>