画布上的Android绘图

画布上的Android绘图,android,canvas,Android,Canvas,我有一张画布,我在上面画这个图形,使用点数组。如何用特定的颜色填充它 protected void onDraw(Canvas canvas) { super.onDraw(canvas); RectF oval = new RectF(90, 100, 200, 300); Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG); paint.setColor(Color.RED); paint.setStrok

我有一张画布,我在上面画这个图形,使用点数组。如何用特定的颜色填充它

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

    RectF oval = new RectF(90, 100, 200, 300);
    Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);

    paint.setColor(Color.RED);
    paint.setStrokeWidth(5f);

    //  canvas.drawRect(oval, paint);

    //canvas.drawArc(oval, 30f, 100f, true, paint);

    float [] pts = {0,200,
                    120,140,120,140,
                    180,20,180,20,
                    260,100,260,100,
                    350,20,350,20,
                    410,140,410,140,
                    530,200,530,200,
                    410,260,410,260,
                    350,380,350,380,
                    260,300,260,300,
                    180,380,180,380,
                    120,260,120,260,
                    0,200
     };

    //canvas.drawPoints(pts, paint);
    canvas.drawLines(pts, paint);

    //RectF tail = new RectF(0f, 50f, 200f,100f);   
    //canvas.drawArc(tail, 0f, 50f, true, paint);

    //canvas.drawRoundRect(oval, 20f, 20f, paint);

    invalidate();

}

所以基本上我想做的就是沿着数组中的这些点填充颜色。这方面有什么帮助吗?

您需要构建一个画布并使用canvas.drawPath。

尝试将样式应用于
绘制
<代码>paint.setStyle(paint.Style.FILL)