1
我一直在android上工作,但有一個常見的問題,我多次面對。問題是存在其中在我分配視圖背景繪製爲背景的多個視圖,如:可配置的背景繪製
如在上面的例子中可以看出,背景繪製兩者的視圖是相同的,但只有兩個背景可繪製xml文件的區別是實體和筆觸顏色。有沒有其他更好的方法來做到這一點,我只是創建一個通用的背景可繪製,並改變XML和ID不可能在XML中的組件的顏色,而不是每次爲每個純色和筆觸顏色變化創建一個新的繪圖。
我一直在android上工作,但有一個常見的問題,我多次面對。問題是存在其中在我分配視圖背景繪製爲背景的多個視圖,如:可配置的背景繪製
如在上面的例子中可以看出,背景繪製兩者的視圖是相同的,但只有兩個背景可繪製xml文件的區別是實體和筆觸顏色。有沒有其他更好的方法來做到這一點,我只是創建一個通用的背景可繪製,並改變XML和ID不可能在XML中的組件的顏色,而不是每次爲每個純色和筆觸顏色變化創建一個新的繪圖。
否這在XML中不可行。但是,可以使用Java。
ShapeDrawable shapeDrawable = (ShapeDrawable) ContextCompat.getDrawable(getActivity(), R.drawable.name);
shapeDrawable.getPaint().setColor(ContextCompat.getColor(mContext,R.color.colorToSet))
你可以參考java中的drawable,做你想做的事 ---------------------------- ---------------- final GradientDrawable shape =(GradientDrawable)bgDrawable.findDrawableByLayerId(R.id.shape_id); shape.setColor(ContextCompat.getColor(this,R.color.white)); – MKY
是否有另一種方法通過使用XML? –