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

Android में ScrollView को प्रोग्रामेटिकली कैसे डिसेबल करें?

परिचय

यह उदाहरण दर्शाता है कि Android में ScrollView को प्रोग्रामेटिक रूप से कैसे डिसेबल किया जाए। हम OnTouchListener का उपयोग करके टच इवेंट को इंटरसेप्ट करेंगे।

चरण 1: नया प्रोजेक्ट बनाएं

Android Studio में File → New Project के माध्यम से नया प्रोजेक्ट बनाएं।

चरण 2: लेआउट XML में ScrollView

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="16dp"
    tools:context=".MainActivity">

    <ScrollView
        android:id="@+id/scrollView"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center"
            android:orientation="vertical"
            android:padding="16dp">

            <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" />
            <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" />
            <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" />
            <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" />
            <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" />
            <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" />
            <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" />
            <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" />
            <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" />
            <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" />
            <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" />
            <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" />
            <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" />
            <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" />
            <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" />
            <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" />
            <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" />
            <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" />
            <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" />
            <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" />
            <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" />
            <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" />

        </LinearLayout>
    </ScrollView>
</RelativeLayout>

चरण 3: MainActivity.java में टच लिसनर

src/MainActivity.java:

import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Build;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.widget.ScrollView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    @RequiresApi(api = Build.VERSION_CODES.M)
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ScrollView scrollView = findViewById(R.id.scrollView);
        scrollView.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                Toast.makeText(MainActivity.this, "ScrollView डिसेबल है", Toast.LENGTH_SHORT).show();
                return true; // 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>

ऐप चलाएं

ऐप चलाएं और ScrollView पर स्वाइप करने का प्रयास करें - यह स्क्रॉल नहीं होगा और टोस्ट संदेश "ScrollView डिसेबल है" दिखाएगा।

Android में ScrollView को प्रोग्रामेटिकली कैसे डिसेबल करें?

  1. Android में मोबाइल डेटा कैसे डिसेबल करें? Android में मोबाइल डेटा कैसे डिसेबल करें?

    प्रोग्रामेटिक रूप से मोबाइल डेटा चालू/बंद करने का प्रयास - लेकिन गैर-रूटेड डिवाइस पर प्रतिबंधों के कारण यह काम नहीं करता। ⚠️ महत्वपूर्ण सीमाएं Android 5.0+ (API 21+): setMobileDataEnabled() रिफ्लेक्शन के माध्यम से भी कॉल नहीं किया जा सकता Android 2.1-4.4: रिफ्लेक्शन के माध्यम से काम करता था (रूटेड

  1. Android ऐप को प्रोग्रामेटिकली कैसे बंद करें? Android ऐप को प्रोग्रामेटिकली कैसे बंद करें?

    यह उदाहरण दर्शाता है कि Android ऐप को बटन क्लिक पर प्रोग्रामेटिकली कैसे बंद किया जाता है। चरण 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

  1. एंड्रॉइड पर ऑटोकरेक्ट कैसे बंद करें: स्टेप-बाय-स्टेप गाइड एंड्रॉइड पर ऑटोकरेक्ट कैसे बंद करें: स्टेप-बाय-स्टेप गाइड

    शीर्षक पढ़कर आप पूछेंगे कि एंड्रॉइड पर ऑटोकरेक्ट क्यों डिसेबल करें? आखिरकार, यह एंड्रॉइड डिवाइस पर टाइपिंग त्रुटियों की किसी भी संभावना को खत्म कर देता है, है ना? साथ ही, इसकी प्रणाली ऐसी है कि यह उन शब्दों को सीखता है जिनका आप बार-बार उपयोग करते हैं जैसे-जैसे आप उनका उपयोग करते हैं। फिर भी, ऐसे सम