千家信息网

Android怎样实现屏幕手写签名

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍Android怎样实现屏幕手写签名,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Android屏幕手写签名的原理就是把手机屏幕当作画板,把用户手指当作画笔,手指
千家信息网最后更新 2026年11月01日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安全错误 数据库的锁怎样保障安全 上海喔噻互联网科技有限公司 互联网 科技公司 金融科技与互联网金融 奇酷互联网科技 唐信互联网科技 互联网科技宣传片 互联网科技创新服务 恒生互联网科技业指数调整周期 互联网科技圈年度人物 上海京穆互联网科技有限公司 2021互联网科技公司排名 锡山区互联网智能科技产品供应 21世纪互联网科技成就 厦门江牛科技互联网 互联网科技包装股 艺电能源互联网科技有限公司招聘 银川新华互联网科技学校原画 互联网科技和医药行业 好易买互联网科技 山东亿川互联网科技有限责任公司 互联网科技公司经营范围 互联网是不是新科技 互联网巨头反垄断金融科技 互联网科技大会案例 互联网科技股午盘股票涨跌 中国互联网公司排名锤子科技 深圳艾果互联网通讯科技 珠海东科互联网科技有限公司 恒生科技指数 中概互联网 杭州科技互联网公司有哪些
0