3

我现在正在开发一个绘图应用程序,用户可以选择他们定制的颜色。然后定制颜色按钮将显示所选颜色。但是,一旦将其设置为定制颜色,它就会变成方角。

我的编码如下:

我的问题是:

  1. 如何设置customBtn为圆角并填充自定义颜色(最好以编程方式进行,因为自定义颜色将根据用户的选择进行更改)

  2. 实际上,新的 float[] 数组的这 10 个代表什么?

非常感谢!!

编码:

 customColorCode = Color.argb(alphaSeekBar.getProgress(), redSeekBar.getProgress(), 
         greenSeekBar.getProgress(), blueSeekBar.getProgress());         



 RoundRectShape rs = new RoundRectShape(new float[] { 10, 10, 10, 10, 10, 10, 10, 10}, null, null);
 ShapeDrawable sd = new ShapeDrawable(rs);
 customBtn.setBackgroundDrawable(sd);
 customBtn.setBackgroundColor(customColorCode);
4

1 回答 1

1
  1. 更改背景颜色以将不同颜色设置为按钮
  2. public RoundRectShape (float[] outerRadii, RectF inset, float[] innerRadii) 在 API 级别 1 RoundRectShape 构造函数中添加。指定一个外部(圆形)矩形和一个可选的内部(圆形)矩形。

参数 outerRadii 一个包含 8 个半径值的数组,用于外圆矩形。前两个浮点数用于左上角(其余对顺时针对应)。对于外部矩形上没有圆角,传递 null。inset 一个 RectF,它指定从内部矩形到外部矩形每一侧的距离。如果没有内部,则传递 null。innerRadii 一个包含 8 个半径值的数组,用于内部圆形矩形。前两个浮点数用于左上角(其余对顺时针对应)。对于内部矩形上没有圆角,传递 null。如果 inset 参数为 null,则忽略此参数。

于 2013-08-20T09:54:31.170 回答