2017-03-27 59 views

回答

4

你可以這樣說:

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); 
} 

您可以使用此功能在您的應用程序,並可以把邊框和背景顏色你的選擇。

+0

我沒有看到任何使用ShapeDrawable? – TeodorKolev

1

試試這個:

 LayerDrawable bgDrawable = (LayerDrawable) btnCallnow.getBackground(); 
     final GradientDrawable shape = (GradientDrawable) bgDrawable.findDrawableByLayerId(R.id.shape_id); 
     shape.setCornerRadius(5.0f); 
+0

我沒有看到任何使用ShapeDrawable? – TeodorKolev

+0

Shape_id是自定義可繪製形狀的標識。 –

相關問題