在使用过程中一个shape.xml 文件,要用到多个地方,颜色和圆角都会改变。利用代码可以灵活的变动。
利用GradientDrawable 类可以操作他。
view.setBackgroundResource(singleLine ? R.drawable.solid_fedc6b_alpha30_circle : R.drawable.solid_fedc6b_alpha30_r12); GradientDrawable textDrawable = (GradientDrawable) view.getBackground(); if(Utils.isColorCheck(bgColor) && Utils.isColorCheck(skColor)){ textDrawable.setColor(Color.parseColor(bgColor)); textDrawable.setStroke(ScreenUtil.dp2px(1), Color.parseColor(skColor)); }else { textDrawable.setColor(Color.parseColor("#40FEDC6B")); textDrawable.setStroke(ScreenUtil.dp2px(1), Color.parseColor("#FEDC6B")); }
view 就是使用shape的控件。