Android怎样实现屏幕手写签名
发表于:2024-10-11 作者:千家信息网编辑
千家信息网最后更新 2024年10月11日,这篇文章主要介绍Android怎样实现屏幕手写签名,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Android屏幕手写签名的原理就是把手机屏幕当作画板,把用户手指当作画笔,手指
千家信息网最后更新 2024年10月11日Android怎样实现屏幕手写签名
这篇文章主要介绍Android怎样实现屏幕手写签名,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
Android屏幕手写签名的原理就是把手机屏幕当作画板,把用户手指当作画笔,手指在屏幕上在屏幕上划来划去,屏幕就会显示手指的移动轨迹,就像画笔在画板上写字一样。实现手写签名需要结合绘图的路径工具Path,在有按下动作时调用Path对象的moveTo方法,将路径起始点移动到触摸点;在有移动操作时调用Path对象的quadTo方法,将记录本次触摸点与上次触摸点之间的路径;在有移动操作与提起动作时调用Canvas对象的drawPath方法,将本次触摸绘制在画布上。
layout/activity_signature.xml界面布局代码如下:
SignatureActivity.java逻辑代码如下:
package com.fukaimei.touchevent;import android.graphics.Bitmap;import android.os.Bundle;import android.os.Handler;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.view.View.OnClickListener;import android.widget.ImageView;import android.widget.Toast;import com.fukaimei.touchevent.filedialog.dialog.FileSaveFragment;import com.fukaimei.touchevent.util.BitmapUtil;import com.fukaimei.touchevent.widget.SignatureView;public class SignatureActivity extends AppCompatActivity implements OnClickListener, FileSaveFragment.FileSaveCallbacks { private SignatureView view_signature; private ImageView iv_signature_new; private Bitmap mBitmap; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_signature); view_signature = (SignatureView) findViewById(R.id.view_signature); iv_signature_new = (ImageView) findViewById(R.id.iv_signature_new); findViewById(R.id.btn_add_signature).setOnClickListener(this); findViewById(R.id.btn_end_signature).setOnClickListener(this); findViewById(R.id.btn_reset_signature).setOnClickListener(this); findViewById(R.id.btn_revoke_signature).setOnClickListener(this); findViewById(R.id.btn_save_signature).setOnClickListener(this); } @Override public void onClick(View v) { if (v.getId() == R.id.btn_save_signature) { if (mBitmap == null) { Toast.makeText(this, "请先开始然后结束签名", Toast.LENGTH_LONG).show(); return; } FileSaveFragment.show(this, "jpg"); } else if (v.getId() == R.id.btn_add_signature) { view_signature.setDrawingCacheEnabled(true); } else if (v.getId() == R.id.btn_reset_signature) { view_signature.clear(); } else if (v.getId() == R.id.btn_revoke_signature) { view_signature.revoke(); } else if (v.getId() == R.id.btn_end_signature) { if (view_signature.isDrawingCacheEnabled() != true) { Toast.makeText(this, "请先开始签名", Toast.LENGTH_LONG).show(); } else { mBitmap = view_signature.getDrawingCache(); iv_signature_new.setImageBitmap(mBitmap); mHandler.postDelayed(mResetCache, 100); } } } private Handler mHandler = new Handler(); private Runnable mResetCache = new Runnable() { @Override public void run() { view_signature.setDrawingCacheEnabled(false); view_signature.setDrawingCacheEnabled(true); } }; @Override public boolean onCanSave(String absolutePath, String fileName) { return true; } @Override public void onConfirmSave(String absolutePath, String fileName) { String path = String.format("%s/%s", absolutePath, fileName); BitmapUtil.saveBitmap(path, mBitmap, "jpg", 80); Toast.makeText(this, "成功保存图片文件:" + path, Toast.LENGTH_LONG).show(); }}
以上是"Android怎样实现屏幕手写签名"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
屏幕
移动
对象
手指
方法
时调
路径
代码
内容
动作
画板
画笔
篇文章
成功
之间
价值
兴趣
原理
图片
小伙
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库软件开发合同
京东mysql数据库分布式
广州做网络安全的集成商
微信记录数据库在哪个文件夹
南通巨杉软件开发有限公司
各循证数据库的特点
qq邮箱数据库
网上商城系统数据库建模
关系数据库中的除法
杭州互助软件开发
php数据库身份证号码加密
围绕网络安全的微视频稿子
杭州市软件开发
服务器端口993是什么意思
重庆跃动网络技术有限公司简介
pg数据库死锁问题
一梦江湖千秋一梦服务器在哪
软件开发项目提成分配
在服务器级别上
广州网络技术侦查
数据中心网络技术论坛
方舟可以开服务器吗
赛康串口服务器
新乡市九晟网络技术有限公司
软件开发完成后的维护
可以打开access数据库吗
金山终端安全系统数据库密码
海澜集团软件开发岗要求
互联网科技引爆会场
如何设计网络安全板报