由于上个星期公司要实现一个功能,是关于合同的,需要用户签名,由此引发书写了这篇文章,此文设计的内容并不复杂,下面是梳理过程
自定义一个View监听手势动作,利用Path将手势轨迹绘制到canvas。然后创建一个CacheCanvas,并设置一个Bitmap,在绘制的到canvas的同时并绘制到cacheCanvas上,以便将其取出,将bitmap存入本地
直接看代码 SignatureView
import android.annotation.SuppressLint;
import android.content.Context;
import android.graphics.*;
import android.util.AttributeSet;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import java.io.*;
/**
* @Author MarkYe
* @Email yrmao9893@163.com
* @Date 2019-06-09
* @Des 手绘签名View
*/
public class SignatureView extends View {
private Paint mPaint;
private Path mPath;
private Bitmap cacheBitmap;//用户保存签名的Bitmap
private Canvas cacheCanvas;//用户保存签名的Canvas
private float lift, right, top, bottom;
public SignatureView(Context context) {
this(context, null);
}
public SignatureView(Co