Android 自定义View-Path

Path

可以通过drawPath()绘制自定义图像。

直接绘制路径

addCircle

在这里插入图片描述

Path path = new Path();
path.addCircle(300, 300, 200, Path.Direction.CW);
canvas.drawPath(path, paint);

//等价于canvas.drawCircle()

lineTo / rLineTo

  • lineTo(x, y):绝对位置
  • rLineTo(x, y):相对位置

在这里插入图片描述

Path path = new Path();
paint.setStyle(Paint.Style.STROKE);
path.lineTo(100, 100);//从当前位置(0,0)向(100,100)画线
path.rLineTo(100,0);//从当前位置(100,100)向右方100像素画线
canvas.drawPath(path, paint);

moveTo / rMoveTo

可以通过moveTo()rMoveTo()修改当前位置,可以间接修改起点

path.moveTo(200,200);
path.lineTo(400,200);

arcTo

绘制弧线

在这里插入图片描述

path.arcTo(100, 300, 300, 500, -90, 90, true);

addArc

简化板arcTo()

path.addArc(100, 100, 300, 300, -90, 90);

close

图像闭合

在这里插入图片描述

Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
paint.setStyle(Paint.Style.STROKE);

Path path = new Path();
path.moveTo(100, 100);
path.lineTo(200, 100);
path.lineTo(200, 200);
path.close();

canvas.drawPath(path, paint);

绘制心形

在这里插入图片描述

Path path = new Path();

path.addArc(200, 200, 400, 400, -225, 225);
path.arcTo(400, 200, 600, 400, -180, 225, false);
path.lineTo(400, 542);

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

代码下载

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值