android实现手写签名功能
本文实例为大家分享了android手写签名展示的具体代码,供大家参考,具体内容如下
代码简单,就不发demo了,直接贴代码
packagecom.xx;
importandroid.content.Context;
importandroid.graphics.Bitmap;
importandroid.graphics.Canvas;
importandroid.graphics.Color;
importandroid.graphics.Paint;
importandroid.graphics.Path;
importandroid.os.Bundle;
importandroid.support.v7.app.AppCompatActivity;
importandroid.view.MotionEvent;
importandroid.view.View;
importandroid.widget.Button;
importandroid.widget.FrameLayout;
importandroid.widget.ImageView;
importcom.xx.R;
/**
*Description:签名类
*Copyright:Copyright(c)2018
*Company:
*author:Corwin
*version:1.0
*date:2018/9/518:32
*ModificationHistory:
*DateAuthorVersionDescription
*------------------------------------------------------------------
*2018/9/5Corwin1.01.0Version
*/
publicclassSignatureActivityextendsAppCompatActivity{
privateImageViewimageSign;
privateSignatureViewmView;
@OverridepublicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_signature);
imageSign=findViewById(R.id.iv_sign);
FrameLayoutframeLayout=findViewById(R.id.fl_view);
mView=newSignatureView(this);
frameLayout.addView(mView);
mView.requestFocus();
ButtonbtnClear=findViewById(R.id.btn_clear);
btnClear.setOnClickListener((v)->{
mView.clear();
});
ButtonbtnOk=findViewById(R.id.btn_ok);
btnOk.setOnClickListener((v)->{
BitmapimageBitmap=mView.getCachebBitmap();
imageSign.setImageBitmap(imageBitmap);
});
}
/**
*自定义签名控件
*/
classSignatureViewextendsView{
//画笔
privatePaintpaint;
//画布
privateCanvascacheCanvas;
//位图
privateBitmapcachebBitmap;
//图片保存路径
privatePathpath;
//位图缓存
publicBitmapgetCachebBitmap(){
returncachebBitmap;
}
publicSignatureView(Contextcontext){
super(context);
init();
}
/**
*初始化
*/
privatevoidinit(){
//设置画笔
paint=newPaint();
paint.setAntiAlias(true);
paint.setStrokeWidth(3);
paint.setStyle(Paint.Style.STROKE);
paint.setColor(Color.BLACK);
path=newPath();
//创建位图
cachebBitmap=Bitmap.createBitmap(10,10,Bitmap.Config.ARGB_8888);
//用自定义位图构建画布
cacheCanvas=newCanvas(cachebBitmap);
//设置画布为白色
cacheCanvas.drawColor(Color.WHITE);
}
/**
*清除画板,重置画笔
*/
publicvoidclear(){
if(cacheCanvas!=null){
paint.setColor(Color.WHITE);
cacheCanvas.drawPaint(paint);
paint.setColor(Color.BLACK);
cacheCanvas.drawColor(Color.WHITE);
invalidate();
}
}
@OverrideprotectedvoidonDraw(Canvascanvas){
canvas.drawBitmap(cachebBitmap,0,0,null);
canvas.drawPath(path,paint);
}
@OverrideprotectedvoidonSizeChanged(intw,inth,intoldw,intoldh){
intcurW=cachebBitmap!=null?cachebBitmap.getWidth():0;
intcurH=cachebBitmap!=null?cachebBitmap.getHeight():0;
if(curW>=w&&curH>=h){
return;
}
if(curW
布局文件:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。