現在、このコードを使用して色を追加しています:
ShapeDrawable drawable = new ShapeDrawable(new OvalShape());
drawable.getPaint().setColor(color);
ここで、ストロークと一緒にグラデーションの色を適用する必要があります(異なる色の境界線など)。これをボタンの背景として設定しています。
これが私が期待しているものです。プログラムで行う必要があります。
次のようにRadialGradientを追加します。drawable
Shader shader = new RadialGradient(x, y, radius, color0, color1, Shader.TileMode.REPEAT);
drawable.getPaint().setShader(shader);
もちろん、 LinearGradient、SweepGradient、および任意のパラメーターを交換できます。
ストロークを追加する方法は次のとおりです。
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);