Android 自定义View 实现矩形区域渐变效果
要在Android中自定义一个View实现矩形区域由外往里渐变,可以使用Canvas和Paint来实现。以下是一个简单的实现示例:
public class GradientRectangleView extends View {
private Paint mPaint;
public GradientRectangleView(Context context) {
super(context);
init();
}
public GradientRectangleView(Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
init();
}
public GradientRectangleView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
private void init() {
mPaint = new Paint();
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
int width = getWidth();
int height = getHeight();
// 渐变颜色
int startColor = Color.parseColor("#FF0000"); // 起始颜色:红色
int endColor = Color.parseColor("#00FF00"); // 结束颜色:绿色
// 创建一个渐变颜色
LinearGradient gradient = new LinearGradient(0, 0, width, height, startColor, endColor, Shader.TileMode.CLAMP);
mPaint.setShader(gradient);
// 绘制矩形
canvas.drawRect(0, 0, width, height, mPaint);
}
}
在上面的代码中,首先在构造函数中初始化了一个Paint对象。然后,在onDraw方法中,获取View的宽度和高度,然后创建一个渐变颜色,使用LinearGradient来实现从起始颜色到结束颜色的渐变。最后,使用Canvas的drawRect方法绘制一个填充了渐变颜色的矩形。
原文地址: https://www.cveoy.top/t/topic/b2uR 著作权归作者所有。请勿转载和采集!