You can draw anything by using GestureOverlayView class in android.
Required:-
1. Implement the OnGesturePerformedListener interface
2. Override onGesturePerformed method.
In your xml layout file, add the following code.
Here, we use android.gesture.GestureOverlayView to take input from user and an image view to display output.
<RelativeLayout xmlns:android=”http://schemas.android.com/apk/res/android”
xmlns:tools=”http://schemas.android.com/tools”
android:layout_width=”match_parent”
android:layout_height=”match_parent” >
<android.gesture.GestureOverlayView
android:id=”@+id/gestureOverlayView1″
android:layout_width=”match_parent”
android:layout_height=”match_parent” />
<ImageView
android:id=”@+id/imageView1″
android:layout_width=”match_parent”
android:layout_height=”match_parent”
/>
</RelativeLayout>
In your MainActivity.java class write the following code:-
public class MainActivity extends Activity implements OnGesturePerformedListener{
GestureOverlayViewgestureOverlayView;
private Bitmap bitmap;
private ImageView imageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Instantiate the object of image view and gesture overlay //view.
imageView=(ImageView) findViewById(R.id.imageView1);
gestureOverlayView = (GestureOverlayView) findViewById(R.id.gestureOverlayView1);
//add listener to the gesture overlay view
gestureOverlayView.addOnGesturePerformedListener(this);
//Create object of Display class to get width and height of device to create a bitmap image of screen size.
Display display= getWindowManager().getDefaultDisplay();
bitmap=Bitmap.createBitmap(display.getWidth(), display.getHeight(), Bitmap.Config.ARGB_8888);
}
//This method will be automatically called by system when //gesture is made by user.
@Override
public void onGesturePerformed(GestureOverlayView overlay, Gesture gesture) {
//Create object of canvas and paint class for drawing.
Canvas canvas = new Canvas(bitmap);
Paint paint = new Paint();
paint.setColor(Color.BLUE);
// gesture.getStrokes() method will return an array list of Gesture Strokes.
ArrayList<GestureStroke> gestureStrokes = gesture.getStrokes();
for (GestureStroke ges : gestureStrokes) {
//canvas.drawLines method draws the lines on bitmap image by using given points and paint object.
canvas.drawLines( ges.points, paint);
}
//finally display the image using setImageBitmap method in image view as shown below.
imageView.setImageBitmap(bitmap);
}
}
You may also like:
Related Posts...
Mobile AppsTechnologies
Nov 27th, 2025
The global beauty and cosmetics industry is evolving at lightning speed, driven by new-age consumers who crave personalisation, convenience, and immersive digital experiences. Mobile apps are at the centre of […]
Read more
Nov 25th, 2025
Artificial intelligence has steadily moved from being a personal productivity assistant to becoming a powerful team collaborator. OpenAI’s latest feature—Group Chats in ChatGPT—marks one of the biggest steps yet toward […]
Read more
Nov 13th, 2025
Singapore is one of the most modern and traveller-friendly cities in the world, where technology meets convenience at every corner. Whether you’re strolling through the futuristic Gardens by the Bay, […]
Read more