以编程方式添加具有纯色和笔触的渐变

时间:2013-03-22 06:05:01

标签: android colors drawable gradient shape

目前我正在使用此代码添加颜色:

ShapeDrawable drawable = new ShapeDrawable(new OvalShape());
drawable.getPaint().setColor(color);

现在我需要为它添加一些渐变颜色和笔画(比如不同颜色的边框)。我将此设置为按钮的背景。

这是我所期待的,我需要以编程方式进行。

enter image description here

2 个答案:

答案 0 :(得分:4)

drawable添加RadialGradient,如下所示:

Shader shader = new RadialGradient(x, y, radius, color0, color1, Shader.TileMode.REPEAT);
drawable.getPaint().setShader(shader);

显然,您可以互换LinearGradientSweepGradient和任何参数。

以下是添加笔划的方法:

drawable.getPaint().setStrokeWidth(3);
drawable.getPaint().setColor(Color.WHITE);
drawable.getPaint().setStyle(Paint.Style.FILL_AND_STROKE);

嗯,我想我必须使用GradientDrawable推荐给@StinePike:

GradientDrawable gd = new GradientDrawable();
gd.setColor(Color.RED);
gd.setCornerRadius(10);
gd.setStroke(2, Color.WHITE);
gd.setShape(GradientDrawable.OVAL);

答案 1 :(得分:3)

使用GradientDrawable创建渐变

你可以看到这个answer