কম্পিউটার টিউটোরিয়াল

অ্যান্ড্রয়েডে GridView স্ক্রোলিং নিষ্ক্রিয় করার পদ্ধতি

এই উদাহরণটি দেখায় কিভাবে অ্যান্ড্রয়েডে GridView-এ স্ক্রোলিং নিষ্ক্রিয় করা যায়।

ধাপ ১: নতুন প্রজেক্ট তৈরি করুন

Android Studio-তে File → New Project এ যান এবং প্রজেক্ট তৈরি করার জন্য সকল প্রয়োজনীয় তথ্য পূরণ করুন।

ধাপ ২: লেআউট XML ফাইল যোগ করুন

res/layout/activity_main.xml ফাইলে নিচের কোডটি যোগ করুন। RelativeLayout-এর ভিতরে GridView রাখা হয়েছে।

<?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="8dp"
    tools:context=".MainActivity">
    <GridView
        android:id="@+id/gridLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
</RelativeLayout>

ধাপ ৩: MainActivity.java ফাইলে কোড যোগ করুন

src/MainActivity.java ফাইলে নিচের কোডটি যোগ করুন। OnTouchListener-এ MotionEvent.ACTION_MOVE রিটার্ন করে স্ক্রোলিং ব্লক করা হয়েছে।

import androidx.appcompat.app.AppCompatActivity;
import android.annotation.SuppressLint;
import android.content.Context;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    GridView gridView;
    Integer[] imageIDs = {R.drawable.one, R.drawable.two, R.drawable.three, R.drawable.four, R.drawable.five, R.drawable.six, R.drawable.seven, R.drawable.eight, R.drawable.nine, R.drawable.ten};

    @SuppressLint("ClickableViewAccessibility")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        gridView = findViewById(R.id.gridLayout);
        gridView.setAdapter(new ImageAdapterGridView(this));
        gridView.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                Toast.makeText(MainActivity.this, "Scrolling is Disabled", Toast.LENGTH_SHORT).show();
                return event.getAction() == MotionEvent.ACTION_MOVE;
            }
        });
    }

    public class ImageAdapterGridView extends BaseAdapter {
        private Context context;

        ImageAdapterGridView(Context c) {
            context = c;
        }

        public int getCount() {
            return imageIDs.length;
        }

        public Object getItem(int position) {
            return null;
        }

        public long getItemId(int position) {
            return 0;
        }

        public View getView(int position, View convertView, ViewGroup parent) {
            ImageView imageView;
            if (convertView == null) {
                imageView = new ImageView(context);
                imageView.setLayoutParams(new GridView.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.MATCH_PARENT));
                imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
                imageView.setPadding(20, 20, 20, 20);
            } else {
                imageView = (ImageView) convertView;
            }
            imageView.setImageResource(imageIDs[position]);
            return imageView;
        }
    }
}

ধাপ ৪: 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>

অ্যাপ্লিকেশন চালান

আপনার অ্যান্ড্রয়েড মোবাইল ডিভাইস কম্পিউটারের সাথে সংযুক্ত আছে ধরে নেওয়া হয়েছে। Android Studio-তে আপনার প্রজেক্টের যেকোনো এক্টিভিটি ফাইল খুলুন এবং টুলবার থেকে Run আইকনে ক্লিক করুন। আপনার মোবাইল ডিভাইস সিলেক্ট করুন এবং ডিভাইসে ডিফল্ট স্ক্রিন দেখুন।

  1. অ্যান্ড্রয়েড ডিভাইসে গুগল অ্যাসিস্ট্যান্ট নিষ্ক্রিয় করার ধাপে ধাপে গাইড

  2. অ্যান্ড্রয়েডে Chrome মিউট করার ধাপে ধাপে গাইড

  3. অ্যান্ড্রয়েডে Gear VR Service ডিজেবল করুন: বেটার ব্যাটারি পারফরম্যান্সের জন্য কুইক গাইড

  4. অ্যান্ড্রয়েডে অটোকরেক্ট অফ করার ধাপে ধাপে গাইড