以下是一个Android Canvas绘制渐变梯形的实例代码:

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.LinearGradient;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.Shader;
import android.view.View;

public class GradientTrapezoidView extends View {

    private Paint paint;

    public GradientTrapezoidView(Context context) {
        super(context);
        paint = new Paint(Paint.ANTI_ALIAS_FLAG);
    }

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);

        int width = getWidth();
        int height = getHeight();

        // 创建一个渐变的Shader
        Shader shader = new LinearGradient(0, 0, 0, height,
                Color.parseColor('#FF0000'), Color.parseColor('#00FF00'),
                Shader.TileMode.CLAMP);

        // 设置画笔的Shader
        paint.setShader(shader);

        // 创建一个Path对象,用于绘制梯形
        Path path = new Path();
        path.moveTo(0, height); // 左下角点
        path.lineTo(width, height); // 右下角点
        path.lineTo(width * 0.8f, height * 0.6f); // 右上角点
        path.lineTo(width * 0.2f, height * 0.6f); // 左上角点
        path.close(); // 闭合梯形

        // 绘制梯形
        canvas.drawPath(path, paint);
    }
}

要在Activity中使用此自定义视图,可以在布局文件中添加以下代码:

<com.example.GradientTrapezoidView
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

然后在Activity中设置ContentView:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

这样就可以在Activity的界面上绘制出一个渐变的梯形。

Android Canvas绘制渐变梯形示例代码

原文地址: https://www.cveoy.top/t/topic/bs01 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录