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

অ্যান্ড্রয়েডে স্ক্রলেেবল TextView তৈরির পদ্ধতি

ScrollingMovementMethod ব্যবহার করে স্ক্রলযোগ্য TextView

এই উদাহরণটি দেখায় কিভাবে একটি TextView-কে স্ক্রলেেবল করা যায় যাতে বড় টেক্সট পূর্ণরূপে পড়া যায়। এটি ডকুমেন্ট রিডার, টার্মস অ্যান্ড কন্ডিশন, বা বায়োগ্রাফি দেখানোর জন্য উপযুক্ত।

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

ধাপ ২: লেআউট (scrollbars এট্রিবিউট জরুরি)

<?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:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="5dp"
    tools:context=".MainActivity">
    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:scrollbars="vertical" />
</RelativeLayout>

ধাপ ৩: MainActivity.java

package app.com.sample;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.method.ScrollingMovementMethod;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        TextView textView = findViewById(R.id.textView);
        
        // বড় টেক্সট (মহাত্মা গান্ধী বায়োগ্রাফি)
        String para = "Mohandas Karamchand Gandhi... (বড় টেক্সট)";
        
        textView.setText(para);
        
        // কী লাইন: ScrollingMovementMethod সেট করুন
        textView.setMovementMethod(new ScrollingMovementMethod());
    }
}

XML-এ সরাসরি করা (কোড ছাড়া)

আপনি কেবল XML-এ এই দুটি এট্রিবিউট যোগ করে একই ফলাফল পেতে পারেন:

<TextView
    android:scrollbars="vertical"
    android:maxLines="android:maxLines="10" 
    android:ellipsize="none" />

এবং কোডে: textView.setMovementMethod(new ScrollingMovementMethod());

Horizontal Scroll

<TextView
    android:scrollbars="horizontal"
    android:singleLine="true" />
// কোডে
textView.setHorizontallyScrolling(true);
textView.setMovementMethod(new ScrollingMovementMethod());

NestedScrollView-এ সমস্যা ও সমাধান

যদি TextView NestedScrollView বা ScrollView-এর ভিতরে থাকে, তবে নেস্টেড স্ক্রলিং কনফ্লিক্ট হয়। সমাধান:

// প্যারেন্ট ScrollView-এ
android:nestedScrollingEnabled="true"

// TextView-এ
textView.setNestedScrollingEnabled(true);

আধুনিক বিকল্প: TextView autoSizeText

API 26+ এ android:autoSizeTextType="uniform" ব্যবহার করে টেক্সট আকার অটোমেটিক্যালি অ্যাডজাস্ট করা যায়, স্ক্রল কমাতে।

Rich Text / HTML সাপোর্ট

textView.setText(Html.fromHtml(htmlString, Html.FROM_HTML_MODE_COMPACT));
textView.setMovementMethod(LinkMovementMethod.getInstance()); // লিংক ক্লিকেবল করতে
  1. Android-এ ট্রান্সপেরেন্ট (পারদর্শী) অ্যাক্টিভিটি তৈরি করার পদ্ধতি

  2. অ্যান্ড্রয়েড অ্যাপে TextToSpeech তৈরি করার পদ্ধতি

  3. Facebook-এ Android অ্যাপ তৈরি করার পদ্ধতি

  4. Android-এ মাল্টিলেভেল ListView (ExpandableListView) তৈরির পদ্ধতি