通过继承View实现的❤形
在绘制心形需要Path类中的两个重要方法分别是:moveTo、cubicTo
moveTo 不会进行绘制,只用于移动移动画笔。
lineTo 用于进行直线绘制。
quadTo 用于绘制圆滑曲线,即贝塞尔曲线。
cubicTo 同样是用来实现贝塞尔曲线的。
具体实现:
public class HeartView extends View {
private int mMeasureWidth;
private int mWidthMode;
private int mMeasureHeight;
private int mHeightMode;
private Paint paint;
public HeartView(Context context) {
super(context);
}
public HeartView(Context context, AttributeSet attrs) {
super(context, attrs);
paint = new Paint();//实例画笔
paint.setAntiAlias(true);//抗锯齿
paint.setStrokeWidth(2);//画笔宽度
paint.setColor(Color.RED);//画笔颜色
paint.setStyle(Paint.Style.FILL);//画笔样式
}
/**
* 测量
*/
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
mWi