您的位置:首页 > 移动开发 > Android开发

Android自定义View实现手写签名的功能

2017-04-20 22:38 597 查看
最近的有一个功能需求,需要在平板上实现手写签名并保存上传到服务器,背景是网格状,可以擦除重签,需要保存的签名图片不能带有网格,所以需要自定义view分层。具体的实现效果如图,代码地址为https://github.com/Ahuanghaifeng/WriteSign


代码采用framelayout包裹两个自定义view实现,网格是一个,签名的白板也是一个。签名的view在上,背景透明,网格的view在下,背景是白色。

难点是擦除重签的功能,网上的做法一般都是直接画一层白板直接覆盖掉,但是本项目背景是透明的,画一层白色背景覆盖掉原来的签名,会导致后面的网格也被覆盖掉。所以不能采用,做法 如下

public void clear() {
if (cacheCanvas != null) {
paint.setXfermode(new PorterDuffXfermode(Mode.CLEAR));
cacheCanvas.drawPaint(paint);
paint = new Paint();
paint.setAntiAlias(true);
paint.setStrokeWidth(3);
paint.setStyle(Paint.Style.STROKE);
paint.setColor(Color.RED);
invalidate();
}
}
setXfermode()清除掉paint,并从新new一个出来。具体代码请看github。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐