您好 我想创建一个可绘制的形状,并用白色笔划的渐变颜色填充它 这是我的代码
ShapeDrawable greenShape = new ShapeDrawable(new RectShape());
Shader shader1 = new LinearGradient(0, 0, 0, 50, new int[] {
0xFFBAF706, 0xFF4CD52F }, null, Shader.TileMode.CLAMP);
greenShape.getPaint().setShader(shader1);
greenShape.getPaint().setStrokeWidth(3);
greenShape.getPaint().setColor(Color.WHITE);
greenShape.getPaint().setStyle(Paint.Style.FILL_AND_STROKE);`
问题是矩形出现渐变填充但没有描边
答案 0 :(得分:10)
ShapeDrawable
不允许您轻松地在其周围画一个笔划。
如果你真的想要那么this就是一个不错的选择。
OR
您可以使用GradientDrawable
GradientDrawable gd = new GradientDrawable();
gd.setColor(Color.RED);
gd.setCornerRadius(10);
gd.setStroke(2, Color.WHITE);
(PS:这是在同一页面中作为评论给出的!)
答案 1 :(得分:0)
看起来这个人在同一个问题上挣扎,他们找到的唯一方法是继承ShapeDrawable:
答案 2 :(得分:0)
<stroke
android:width="2dp"
android:color="#808080" />
尝试一下,它肯定会起作用
答案 3 :(得分:0)
将样式更改为greenShape.getPaint()。setStyle(Paint.Style.STROKE) 和
greenShape.setShaderFactory(new ShapeDrawable.ShaderFactory() {
@Override
public Shader resize(int width, int height) {
return new LinearGradient(0, 0, 0, 0, Color.WHITE, Color.WHITE, Shader.TileMode.REPEAT);