ゲームで異なる色 (赤と青としましょう) の 2 台の車を同時に表示したいので、両方の車に同じLayerDrawable
( への画像リソースとして設定されている) を使用します。ImageView
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/car_backstuff"/>
<item android:drawable="@drawable/car_body"/>
<item android:drawable="@drawable/car_frontstuff"/>
</layer-list>
問題は、車に色を付けたいときは、次のようにすることです。
_layerDrawable.getDrawable(1).setColorFilter(Color.RED, PorterDuff.Mode.MULTIPLY);_
しかし、2 台目の車 (つまりColor.BLUE
)でそれを行うと、両方の車が青くなります。
ColorFilter
これは同じリソース(その場合はR.drawable.car_body)を参照しているためだとわかっていましたが、車体の上に別のレイヤーを挿入して乗算するなど、車ごとに異なるものを適用する方法があるかどうかを知りたいですそれか何か?