
上QQ阅读APP看书,第一时间看更新
2.2.3 跟踪滑动轨迹实现手写签名
为了加深对触摸事件的认识,接下来尝试实现一个手写签名控件,进一步理解手势处理的应用场合。
手写签名的原理是把手机屏幕当作画板,把用户手指当作画笔,手指在屏幕上划来划去,屏幕就会显示手指的移动轨迹,就像画笔在画板上写字一样。实现手写签名需要结合绘图的路径工具Path,具体的实现步骤说明如下:
按下手指时,调用Path对象的moveTo方法,将路径起点移到触摸点。
移动手指时,调用Path对象的quadTo方法,记录本次触摸点与上次触摸点之间的路径。
移动手指或者手指提起时,调用Canvas对象的drawPath方法,将本次触摸轨迹绘制在画布上。
自定义手写签名控件的示例代码如下:
(完整代码见event\src\main\java\com\example\event\widget\SignatureView.java)


手写签名的效果如图2-14和图2-15所示。图2-14为写到一半的签名画面,图2-15为签名完成的画面。

图2-14 签名完成一半的画面

图2-15 签名完成的画面