應用中修改多個getDrawable的相同資源id的問題分析
阿新 • • 發佈:2019-01-29
記錄下遇到的問題:
程式中通過getDrawable載入統一資源,這個資源會在很多頁面或者一個頁面的不同地方使用,而當修改某一個地方的drawable的顏色等屬性時,其他地方的該資源也同時變化了。
public void changeDrawableColor (int color) { Drawable bgDrawable = context.getResources().getDrawable(R.mipmap.icon_loading_bg); Drawable centerDrawble = context.getResources().getDrawable(R.mipmap.icon_loading_centerdrawable快取分析: https://blog.csdn.net/hello__zero/article/details/43230149); if (bgDrawable != null && centerDrawble != null) { bgDrawable.setColorFilter(new PorterDuffColorFilter(color, PorterDuff.Mode.SRC_IN)); centerDrawble.setColorFilter(new PorterDuffColorFilter(color, PorterDuff.Mode.SRC_IN)); mBackgroud.setImageDrawable(bgDrawable); mCenter.setImageDrawable(centerDrawble);} }