顶部圆角渐变可绘制

时间:2018-10-26 13:32:28

标签: android

我需要创建仅具有顶部圆角的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;
}

这样,所有角都是圆角的。我找不到设置仅顶部拐角半径的方法。有想法吗?

我知道有人问过类似的问题,但就我而言,没有任何解决方案好。

谢谢

1 个答案:

答案 0 :(得分:1)

您可以使用setCornerRadii (float[] radii)

您可以为4个角中的每个角提供半径。对于每个角,数组包含2个值,[X_radius,Y_radius]。角的顺序是左上,右上,右下,左下。

gd.setCornerRadii(new float[] { 8, 8, 8, 8, 0, 0, 0, 0 });