我有一个带圆角的TextView。
Here is my code:
float radius = 10f;
ShapeAppearanceModel shapeAppearanceModel = new ShapeAppearanceModel()
.toBuilder()
.setAllCorners(CornerFamily.ROUNDED,radius)
.build();
MaterialShapeDrawable shapeDrawable = new MaterialShapeDrawable(shapeAppearanceModel);
ViewCompat.setBackground(textView,shapeDrawable);
现在,我想通过编程来改变textView的背景颜色。
When I do :
shapeDrawable.setFillColor(ContextCompat.getColorStateList(this,R.color.design_default_color_background));
它是有效的;背景颜色被改变了。
现在,我想用一个int颜色来改变背景色,比如Color.RED或任何用Color.RGB(r, g, b, a)或Color.RGB(r, g, b)定义的随机颜色。
我怎样才能做到这一点?我应该使用 shapeDrawable.setFillColor 还是其他方法?