私が開発しているあるアプリImageButtonでは、選択した のコピーであるをプログラムで作成しようとしていますImageButtonが、画像は別の方法で色付けされています。たとえば、赤としましょう。
私が使用する場合PowerDuff.Mode.MULTIPLY:
clonebutton.getDrawable().setColorFilter(0xFFFF0000,Mode.MULTIPLY);
すると、オリジナルもImageButton同じ色を共有しているため、色が赤に変わりますdrawable。2つの異なるを使用せずに、クローンボタンにのみフィルターを適用する方法はありますdrawablesか? たとえば、何らかの方法で、編集せずにクローンボタンの上にカラー化レイヤーを配置することは可能drawableですか?
更新 ドローアブルを可変として設定しました:
Drawable d = swipebutton.getDrawable();
d.mutate();
d.setColorFilter(0xFFFF0000,Mode.MULTIPLY);
swipebutton.setImageDrawable(d);
これにより、私の clonebutton がその状態を other と共有できなくなりdrawableますviews。