Android में onTouchEvent से टच इवेंट हैंडल करना
यह उदाहरण दर्शाता है कि Activity या View में onTouchEvent() को ओवरराइड करके टच इवेंट्स (डाउन, मूव, अप) कैसे प्राप्त करें और उनके निर्देशांक कैसे पढ़ें।
चरण 1: नया प्रोजेक्ट बनाएं
Android Studio में File → New Project चुनें।
चरण 2: लेआउट फ़ाइल (res/layout/activity_main.xml)
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
xmlns:tools="https://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="4dp"
tools:context=".MainActivity">
</RelativeLayout>
चरण 3: MainActivity में टच हैंडलिंग (src/MainActivity.java)
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
private boolean isTouching = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
// टच निर्देशांक प्राप्त करें
int x = (int) event.getX();
int y = (int) event.getY();
// एक्शन टाइप प्राप्त करें
int action = event.getAction();
switch (action) {
case MotionEvent.ACTION_DOWN:
// उंगली स्क्रीन पर आई
Toast.makeText(this, "DOWN - X: " + x + " Y: " + y, Toast.LENGTH_SHORT).show();
isTouching = true;
break;
case MotionEvent.ACTION_MOVE:
// उंगली घिस रही है
if (isTouching) {
Toast.makeText(this, "MOVE - X: " + x + " Y: " + y, Toast.LENGTH_SHORT).show();
}
break;
case MotionEvent.ACTION_UP:
// उंगली उठी
Toast.makeText(this, "UP - X: " + x + " Y: " + y, Toast.LENGTH_SHORT).show();
isTouching = false;
break;
case MotionEvent.ACTION_CANCEL:
// इवेंट कैंसल हुआ
isTouching = false;
break;
}
// true लौटाएं = इवेंट खाया गया, false = पैरेंट को पास करें
return true;
}
}
MotionEvent एक्शन कॉन्स्टेंट्स
| कॉन्स्टेंट | विवरण |
|---|---|
ACTION_DOWN |
पहला टच डाउन |
ACTION_MOVE |
टच के दौरान मूवमेंट |
ACTION_UP |
टच रिलीज |
ACTION_CANCEL |
जेस्चर कैंसल |
ACTION_POINTER_DOWN |
मल्टी-टच: अतिरिक्त पॉइंटर डाउन |
ACTION_POINTER_UP |
मल्टी-टच: अतिरिक्त पॉइंटर अप |
मल्टी-टच के लिए पॉइंटर इंडेक्स
// मल्टी-टच के लिए पॉइंटर इंडेक्स और ID का उपयोग करें int pointerIndex = event.getActionIndex(); int pointerId = event.getPointerId(pointerIndex); float x = event.getX(pointerIndex); float y = event.getY(pointerIndex);
चरण 4: AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
package="app.com.sample">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
</intent-filter>
</activity>
</application>
</manifest>
ऐप चलाएं
ऐप लॉन्च करें, स्क्रीन पर कहीं भी टच/ड्रैग/रिलीज करें, और टोस्ट में निर्देशांक देखें।

