如何在Android画布上绘制圆角多边形?

use*_*721 15 android polygon rounded-corners android-canvas

我需要绘制三角形,梯形,五边形,平行四边形,菱形等多边形.看起来Path类是要走的路,但是我需要这些多边形有圆角,我还需要控制圆角的数量.

小智 34

下面是一个简单的例子来绘制圆角多边形(即三角形,矩形等)

    @Override
    public void draw(Canvas canvas) {            
        Paint paint = new Paint();
        paint.setColor(Color.GREEN);
        paint.setStrokeWidth(6);
        float radius = 50.0f;
        CornerPathEffect corEffect = new CornerPathEffect(radius);
        paint.setPathEffect(corEffect);
        Path path = new Path();
        path.moveTo(20, 20);
        path.lineTo(400, 20);
        path.lineTo(600, 300);
        path.lineTo(400, 400);
        path.lineTo(20, 400);
        path.close();
        canvas.drawPath(path, paint);
    }
Run Code Online (Sandbox Code Playgroud)

为了控制舍入量,请更改radius的值.希望这能帮助您解决问题.谢谢.