Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Android

एंड्रॉइड डिवाइस पर टच पोजीशन कैसे प्राप्त करें?

टच इवेंट से 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 में अपडेट होंगे।

एंड्रॉइड डिवाइस पर टच पोजीशन कैसे प्राप्त करें?

एंड्रॉइड डिवाइस पर टच पोजीशन कैसे प्राप्त करें?

  1. Android डिवाइस का प्राइमरी ईमेल एड्रेस कैसे प्राप्त करें? Android डिवाइस का प्राइमरी ईमेल एड्रेस कैसे प्राप्त करें?

    परिचय यह ट्यूटोरियल दिखाता है कि Android डिवाइस पर कॉन्फ़िगर किए गए अकाउंट्स में से प्राइमरी ईमेल एड्रेस कैसे प्राप्त करें। हम AccountManager और GET_ACCOUNTS परमिशन का उपयोग करेंगे। ⚠️ महत्वपूर्ण चेतावनी नोट: यह प्रोग्राम केवल रूटेड डिवाइस पर ही काम करेगा। आधुनिक Android वर्जन (Android 6.0+) में `G

  1. अपने एंड्रॉइड डिवाइस पर एंड्रॉइड मार्शमैलो बूट एनिमेशन कैसे प्राप्त करें अपने एंड्रॉइड डिवाइस पर एंड्रॉइड मार्शमैलो बूट एनिमेशन कैसे प्राप्त करें

    जबकि एंड्रॉइड का नवीनतम संस्करण - जिसे एंड्रॉइड 6.0 मार्शमैलो कहा जाता है - अभी आपके एंड्रॉइड डिवाइस पर चलने के लिए तैयार नहीं है, आप अभी इसकी बूट एनिमेशन को अपने डिवाइस पर काम करने के लिए प्राप्त कर सकते हैं। बूट एनिमेशन अब रूटेड एंड्रॉइड डिवाइस के लिए उपलब्ध है, और आप इसे एक साधारण रूट एक्सप्लोरर

  1. रूट किए बिना एंड्रॉइड पर 3D टच सक्षम करें - चरण-दर-चरण गाइड रूट किए बिना एंड्रॉइड पर 3D टच सक्षम करें - चरण-दर-चरण गाइड

    3D टच आईफोन 6s और इसके बाद के संस्करण में एक अद्भुत विशेषता है। ऐप्पल ने इस सुविधा को इन डिवाइस में शामिल किया है क्योंकि वे फोर्स सेंसर से लैस हैं। इसका मतलब है कि जब आप किसी एप्लिकेशन आइकन को जोर से दबाते हैं, तो यह नए एक्सेसिबिलिटी विकल्प दिखाता है। इसका मतलब है कि आपको किसी एप्लिकेशन को लॉन्च कर