本文实例为大家分享了Android实现签名涂鸦手写板的具体代码,供大家参考,具体内容如下
布局文件
代码语言:javascript复制<?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
//开始签名
代码语言:javascript复制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();
}
}
//创建签名文件
代码语言:javascript复制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();
}
}
}
//重新签名
代码语言:javascript复制if (mPaintView.getPath().isEmpty()){
ToastUtils.showShort(this,"您还没有签名呦");
}else {
mPaintView.clear();
}
以上就是本文的全部内容,希望对大家的学习有所帮助。