Android实现签名涂鸦手写板
时间:2022-07-26
本文章向大家介绍Android实现签名涂鸦手写板,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
本文实例为大家分享了Android实现签名涂鸦手写板的具体代码,供大家参考,具体内容如下
布局文件
<?xml version="1.0" encoding="utf-8"?
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
<FrameLayout
android:id="@+id/fl_signature"
android:layout_width="fill_parent"
android:layout_height="200dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="10dp"
android:background="@drawable/singature_bg"
android:gravity="top"
</FrameLayout
<ImageView
android:id="@+id/iv_signature"
android:layout_width="fill_parent"
android:layout_height="200dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="10dp"
android:background="@drawable/signature_shape"
android:gravity="top"
android:visibility="gone"/
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_marginBottom="20dp"
<TextView
android:id="@+id/tv_revert_signature"
android:layout_width="100dp"
android:layout_height="35dp"
android:layout_alignParentRight="true"
android:layout_marginRight="140dp"
android:background="@drawable/btn_order_details_pay_bg"
android:gravity="center"
android:paddingLeft="30dp"
android:paddingRight="30dp"
android:text="重签"
android:textColor="@color/code_number_bg"
android:textSize="@dimen/text_title_word" /
<TextView
android:id="@+id/tv_signature_save"
android:layout_width="100dp"
android:layout_height="35dp"
android:layout_alignParentRight="true"
android:layout_marginRight="20dp"
android:background="@drawable/bt_bg"
android:gravity="center"
android:paddingLeft="30dp"
android:paddingRight="30dp"
android:text="保存"
android:textColor="@color/white"
android:textSize="@dimen/text_title_word" /
</RelativeLayout
</LinearLayout
//开始签名
private void StartSignature() {
// 获取屏幕尺寸
DisplayMetrics mDisplayMetrics = new DisplayMetrics();
getWindow().getWindowManager().getDefaultDisplay().getMetrics(mDisplayMetrics);
}
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if(hasFocus&&mPaintView==null){
int screenWidth = mFl_signature.getMeasuredWidth();
int screenHeight = mFl_signature.getMeasuredHeight();
mPaintView=new PaintView(getApplicationContext(),screenWidth, screenHeight);
mFl_signature.addView(mPaintView);
mPaintView.requestFocus();
}
}
//创建签名文件
private void createSignFile() {
FileOutputStream fos = null;
File file = null;
try {
path= generateImgePath();
file = new File(path);
fos = new FileOutputStream(file);
//如果设置成
mPaintBitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos);
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (fos != null) {
fos.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
//重新签名
if (mPaintView.getPath().isEmpty()){
ToastUtils.showShort(this,"您还没有签名呦");
}else {
mPaintView.clear();
}
以上就是本文的全部内容,希望对大家的学习有所帮助。
- 修改input框默认黄色背景
- 微信公众号复制的图片可以正常显示的办法
- 不明恶意攻击致<搜狗搜索><搜索结果>跳转<百度搜索>技术原理分析
- Struts2 S2-052 RCE简单测试
- javaScript实现归并排序
- js粘贴事件paste简单解析及遇到的坑
- 学习zepto.js(对象方法)[6]
- Javascript 装饰器极速指南
- daterangepicker日历插件使用参数注意问题
- 学习zepto.js(对象方法)[5]
- js 停止事件冒泡 阻止浏览器的默认行为
- vue-cli生成的项目配置开发和生产环境不同的接口
- 【52ABP实战教程】0.1-- Devops如何用VSTS持续集成到Github仓库!
- 学习zepto.js(对象方法)[4]
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 使用Thumbnails实现图片指定大小压缩
- Flutter中如何加载并预览本地的html文件的方法
- Android在自定义类中实现自定义监听器方式
- 解决WebView通过URL加载H5界面出现空白的问题
- kotlin 定义接口并实现回调的例子
- STL 总结与常见面试题
- kotlin中EditText赋值Type mismatch方式
- Kotlin 创建接口或者抽象类的匿名对象实例
- kotlin Context使用详解
- Android-ViewModel和LiveData使用详解
- 详解Android开发录音和播放音频的步骤(动态获取权限)
- Android自定义带圆角的ImageView
- 关于Kotlin写界面时诸多控件的点击事件
- Android webview注入JS代码 修改网页内容操作
- Kotlin 使用高阶函数实现回调方式