我需要创建仅具有顶部圆角的GradientDrawable对象。
实际上我正在使用这种方法:
public static GradientDrawable generateGradientBackground(String topColor, String bottomColor) {
int[] colors = {Color.parseColor(topColor), Color.parseColor(bottomColor)};
//create a new gradient color
GradientDrawable gd = new GradientDrawable(GradientDrawable.Orientation.BL_TR, colors);
gd.setShape(GradientDrawable.RECTANGLE);
gd.setCornerRadius(30f);
return gd;
}
这样,所有角都是圆角的。我找不到设置仅顶部拐角半径的方法。有想法吗?
我知道有人问过类似的问题,但就我而言,没有任何解决方案好。
谢谢
答案 0 :(得分:1)
您可以使用setCornerRadii (float[] radii)
您可以为4个角中的每个角提供半径。对于每个角,数组包含2个值,[X_radius,Y_radius]。角的顺序是左上,右上,右下,左下。
gd.setCornerRadii(new float[] { 8, 8, 8, 8, 0, 0, 0, 0 });