目前我正在使用以下代码添加颜色:
ShapeDrawable drawable = new ShapeDrawable(new OvalShape());
drawable.getPaint().setColor(color);
现在我需要为它应用一些渐变颜色和描边(类似于带有不同颜色的边框)。我将其设置为按钮背景。
以下是我的期望效果,我需要以编程方式完成它。
像这样在你的drawable
中添加一个RadialGradient:
Shader shader = new RadialGradient(x, y, radius, color0, color1, Shader.TileMode.REPEAT);
drawable.getPaint().setShader(shader);
drawable.getPaint().setStrokeWidth(3);
drawable.getPaint().setColor(Color.WHITE);
drawable.getPaint().setStyle(Paint.Style.FILL_AND_STROKE);
嗯,我认为我需要听从 @StinePike 关于 GradientDrawable 的建议:
GradientDrawable gd = new GradientDrawable();
gd.setColor(Color.RED);
gd.setCornerRadius(10);
gd.setStroke(2, Color.WHITE);
gd.setShape(GradientDrawable.OVAL);