टच इवेंट से X, Y कोऑर्डिनेट प्राप्त करना
यह उदाहरण दिखाता है कि View.OnTouchListener और MotionEvent का उपयोग करके स्क्रीन पर टच की गई स्थिति (X, Y कोऑर्डिनेट) कैसे प्राप्त करें और उन्हें EditText में प्रदर्शित करें।
चरण 1: नया प्रोजेक्ट बनाएं
Android Studio में File → New Project चुनें।
चरण 2: लेआउट XML (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"
tools:context="MainActivity">
<EditText
android:id="@+id/editText"
android:layout_width="400dp"
android:layout_height="wrap_content"
android:hint="X-अक्ष पर पॉइंट्स" />
<EditText
android:id="@+id/editText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/editText"
android:layout_alignLeft="@id/editText"
android:layout_alignStart="@id/editText"
android:layout_alignRight="@id/editText"
android:layout_alignEnd="@id/editText"
android:hint="Y-अक्ष पर पॉइंट्स" />
<TextView
android:id="@+id/textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:clickable="true"
android:focusable="true"
android:text="को-ऑर्डिनेट्स पाने के लिए टच करें"
android:textSize="20sp" />
</RelativeLayout>
चरण 3: MainActivity.java
package app.com.sample;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
TextView textView;
EditText editTextX, editTextY;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editTextX = findViewById(R.id.editText);
editTextY = findViewById(R.id.editText2);
textView = findViewById(R.id.textview);
textView.setOnTouchListener((v, event) -> {
float x = event.getX();
float y = event.getY();
editTextX.setText(String.valueOf(x));
editTextY.setText(String.valueOf(y));
return true; // इवेंट कंज्यूम किया
});
}
}
चरण 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>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
मुख्य बिंदु
event.getX()औरevent.getY()व्यू के सापेक्ष कोऑर्डिनेट देते हैं।event.getRawX()औरevent.getRawY()स्क्रीन के सापेक्ष निरपेक्ष कोऑर्डिनेट देते हैं।return trueका अर्थ है इवेंट हैंडल हो गया, आगे प्रॉपगेट नहीं होगा।- एक्शन टाइप्स:
ACTION_DOWN,ACTION_MOVE,ACTION_UP,ACTION_CANCEL।
आउटपुट
TextView पर टच/ड्रैग करने पर X और Y मान रियल-टाइम में EditText में अपडेट होंगे।

