Below code snippet shows how to get signature from user gesture and save the image file in sd-card.
Refer the below link for complete sample code:-
Download Sample Code
Download Apk File
Refer the below link for complete sample code:-
Download Sample Code
Download Apk File
Xml file:-
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <android.gesture.GestureOverlayView android:id="@+id/signaturePad" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="5" android:background="@android:color/white" android:clickable="false" android:eventsInterceptionEnabled="true" android:fadeEnabled="false" android:gestureColor="#0000ff" android:gestureStrokeLengthThreshold="0.1" android:gestureStrokeType="multiple" android:longClickable="false" android:orientation="vertical" android:uncertainGestureColor="#000000" android:splitMotionEvents="true" android:fadeOffset="10000000"> </android.gesture.GestureOverlayView> |
Java file:-
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | path=Environment.getExternalStorageDirectory()+"/signature.png"; file = new File(path); file.delete(); gestureView = (GestureOverlayView) findViewById(R.id.signaturePad); gestureView.setDrawingCacheEnabled(true); gestureView.setAlwaysDrawnWithCacheEnabled(true); gestureView.setHapticFeedbackEnabled(false); gestureView.cancelLongPress(); gestureView.cancelClearAnimation(); gestureView.addOnGestureListener(new OnGestureListener() { @Override public void onGestureStarted(GestureOverlayView arg0, MotionEvent arg1) { if (arg1.getAction()==MotionEvent.ACTION_MOVE){ gestureTouch=false; } else { gestureTouch=true; } }}); donebutton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { try { bitmap = Bitmap.createBitmap(gestureView.getDrawingCache()); file.createNewFile(); FileOutputStream fos = new FileOutputStream(file); fos = new FileOutputStream(file); // compress to specified format (PNG), quality - which is // ignored for PNG, and out stream bitmap.compress(Bitmap.CompressFormat.PNG, 100, fos); fos.close(); } catch (Exception e) { e.printStackTrace(); } if(gestureTouch==false) { setResult(0); finish(); } else{ setResult(1); finish(); } } }); |
No comments:
Post a Comment