我需要这个形状(rect或任何方式)绘制在Viewandroid上。只有一条曲线。有一个纯色和透明的曲面。怎么画这个?

public class CurveView extends View {
     @Override
     protected void onDraw(Canvas canvas) {
         // how to ????
     }
}

这样地:
android - Android在自定义 View 上仅绘制曲线一侧的矩形-LMLPHP
谢谢。

最佳答案

解决方案:
数据:

public class MyView extends View {

    private Paint paint;
    private Path path;

    public MyView(Context context) {
        super(context);
        init();
    }

    public void init() {

        path = new Path();

        paint = new Paint();
        paint.setAntiAlias(true);
        paint.setDither(true);
        paint.setStyle(Paint.Style.FILL);
        paint.setColor(Color.RED);
    }

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

        canvas.drawColor(Color.TRANSPARENT);
        paint.setShader(null);

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

        path.moveTo(0, 0);

        path.lineTo(0, height);

        path.lineTo(width, height);

        path.lineTo(width, 0);

        path.cubicTo(4*width/6, 3*height/4, 2*width/6, 3*height/4, 0, 0);

        paint.setColor(Color.RED);
        paint.setStyle(Paint.Style.FILL);
        canvas.drawPath(path, paint);

    }

}

10-08 17:34