软件编程
位置:首页>> 软件编程>> Android编程>> Android实现签名涂鸦手写板

Android实现签名涂鸦手写板

作者:BoomLei  发布时间:2022-07-27 04:10:14 

标签: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>

Android实现签名涂鸦手写板

//开始签名


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();

}

来源:https://blog.csdn.net/BoomLei/article/details/77368473

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com