3
在我的應用程序的一部分,我需要我的繪製R.drawable.blah
進行過濾,以白色(原來爲紅色),所以我有這樣的方法:爲什麼可以在所有地方應用可繪製的濾色器?
public final static Drawable getFilteredDrawable(Context context, @DrawableRes int drawable, @ColorRes int color) {
Drawable d = ContextCompat.getDrawable(context, drawable);
d.setColorFilter(ContextCompat.getColor(context, color), PorterDuff.Mode.SRC_IN);
return d;
}
,我使用這種方式:
DrawableUtil.getFilteredDrawable(this, R.drawable.blah, android.R.color.white);
問題是,現在繪圖在整個應用程序中變成了白色,甚至沒有應用過濾器。我希望drawable在應用程序的這個部分是白色的,但它在我使用它的每個地方。
我該如何解決?
要修改的繪製,而不是一個副本複印件。你應該在你的資源中創建一個這個drawable的副本,例如,以解決你的問題 – ddb