android如何实现手写签名功能

  介绍

这篇文章将为大家详细讲解有关android如何实现手写签名功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

具体内容如下

代码简单,就不发演示了,直接贴代码

package  com.xx;   ,   import  android.content.Context;   import  android.graphics.Bitmap;   import  android.graphics.Canvas;   import  android.graphics.Color;   import  android.graphics.Paint;   import  android.graphics.Path;   import  android.os.Bundle;   import  android.support.v7.app.AppCompatActivity;   import  android.view.MotionEvent;   import  android.view.View;   import  android.widget.Button;   import  android.widget.FrameLayout;   import  android.widget.ImageView;   import  com.xx.R;   ,/* *   ,*描述:,签名类   *大敌;版权:Copyright  (c) 2018   ,*公司:,,,   *大敌;作者:,,科文   ,*版本:1.0,,   ,*日期:,,,,2018/9/5  32   ,* Modification 历史:   ,* Date ,,,,,,, Author  Version ,描述   ,* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -   ,* 2018/9/5 , Corwin ,, 1.0,,,,,, 1.0版本   ,*/public  class  SignatureActivity  extends  AppCompatActivity  {   ,   ,private  ImageView  imageSign;   ,private  SignatureView  mView;   ,   ,@Override  public  void  onCreate (Bundle  savedInstanceState), {   super.onCreate才能(savedInstanceState);   ,,setContentView (R.layout.activity_signature);   ,   时间=imageSign 才能;findViewById (R.id.iv_sign);   FrameLayout 才能;FrameLayout =, findViewById (R.id.fl_view);   ,   时间=mView 才能;new  SignatureView(这个);   frameLayout.addView才能(mView);   mView.requestFocus才能();   ,   Button 才能;btnClear =, findViewById (R.id.btn_clear);   btnClear.setOnClickListener才能((v),→, {   ,,,mView.clear ();   ,,});   ,   Button 才能;btnOk =, findViewById (R.id.btn_ok);   btnOk.setOnClickListener才能((v),→, {   ,,,Bitmap  imageBitmap =, mView.getCachebBitmap ();   ,,,imageSign.setImageBitmap (imageBitmap);   ,,});   ,}   ,/* *   *,才能自定义签名控件   ,*/,class  SignatureView  extends  View  {   ,//画才能笔   private 才能Paint 颜料;   ,//画才能布   private 才能;Canvas  cacheCanvas;   ,//才能位图   private 才能;Bitmap  cachebBitmap;   ,//图才能片保存路径   private 才能;Path 路径;   ,//位才能图缓存   public 才能;Bitmap  getCachebBitmap (), {   ,,return  cachebBitmap;   ,,}   ,   public 才能SignatureView (Context 上下文),{   ,,超级(上下文);   ,,init ();   ,,}   ,   ,/* *   ,,*,初始化   ,,*/private 才能;void  init (), {   ,,//设置画笔   ,,paint =, new 油漆();   ,,paint.setAntiAlias(真正的);   ,,paint.setStrokeWidth (3);   ,,paint.setStyle (Paint.Style.STROKE);   ,,paint.setColor (Color.BLACK);   ,,path =, new 路径();   ,   ,,//创建位图   ,,cachebBitmap =, Bitmap.createBitmap(10日,10日,Bitmap.Config.ARGB_8888);   ,   ,,//用自定义位图构建画布   ,,cacheCanvas =, new 画布(cachebBitmap);   ,,//设置画布为白色   ,,cacheCanvas.drawColor (Color.WHITE);   ,,}   ,   ,/* *   ,,*,清除画板,重置画笔   ,,*/public 才能;void 明确(),{   ,,if  (cacheCanvas  !=, null), {   ,,,paint.setColor (Color.WHITE);   ,,,cacheCanvas.drawPaint(油漆);   ,,,paint.setColor (Color.BLACK);   ,,,cacheCanvas.drawColor (Color.WHITE);   ,,,invalidate ();   ,,}   ,,}   ,   @Override 才能protected  void  onDraw (Canvas 画布),{   ,,canvas.drawBitmap (cachebBitmap, 0, 0,, null);   ,,canvas.drawPath(路径,油漆);   ,,}   ,   @Override 才能protected  void  onSizeChanged (int  w, int  h, int  oldw,, int  oldh), {   ,   ,,int  curW =, cachebBitmap  !=, null  ?, cachebBitmap.getWidth (),:, 0;   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

android如何实现手写签名功能