android 自定义view渐变颜色
时间: 2023-07-19 13:25:57 浏览: 120
要在 Android 中实现自定义 View 的渐变颜色,可以使用 LinearGradient 类。以下是一个简单的示例代码,演示如何在 View 的背景上应用渐变颜色:
```
public class GradientView extends View {
private Paint paint;
private int[] colors = {Color.RED, Color.GREEN, Color.BLUE};
private float[] positions = {0.0f, 0.5f, 1.0f};
public GradientView(Context context) {
super(context);
init();
}
public GradientView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public GradientView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
private void init() {
paint = new Paint();
paint.setShader(new LinearGradient(0, 0, getWidth(), getHeight(), colors, positions, Shader.TileMode.CLAMP));
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawPaint(paint);
}
}
```
在上面的代码中,我们创建了一个名为 GradientView 的自定义 View。在其构造函数中,我们创建了一个渐变色的 Paint 对象,并将其设置为 View 的背景。在 init() 方法中,我们创建了一个 LinearGradient 对象,该对象定义了渐变颜色和位置。最后,在 onDraw() 方法中,我们使用 Canvas 对象绘制了 Paint 对象,从而将渐变色应用到了 View 的背景上。
阅读全文