我可以以编程方式将半径设置为 ShapeDrawable 吗?
问问题
1337 次
2 回答
6
你可以这样做:
public static void customView(View v, int backgroundColor, int borderColor)
{
GradientDrawable shape = new GradientDrawable();
shape.setShape(GradientDrawable.RECTANGLE);
shape.setCornerRadii(new float[] { 8, 8, 8, 8, 0, 0, 0, 0 });
shape.setColor(backgroundColor);
shape.setStroke(3, borderColor);
v.setBackgroundDrawable(shape);
}
您可以在整个应用程序中使用此功能,并且可以放置您选择的边框和背景颜色。
于 2017-03-27T06:42:18.433 回答
1
尝试这个:
LayerDrawable bgDrawable = (LayerDrawable) btnCallnow.getBackground();
final GradientDrawable shape = (GradientDrawable) bgDrawable.findDrawableByLayerId(R.id.shape_id);
shape.setCornerRadius(5.0f);
于 2017-03-27T06:40:38.520 回答