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

অ্যান্ড্রয়েডে ডাইনামিক্যালি LinearLayout-এ TextView যোগ করা

রানটাইমে ভিউ ডাইনামিক্যালি যোগ করুন

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

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

ধাপ ২: লেআউট (খালি LinearLayout)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
    android:id="@+id/rlMain"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_margin="16dp"
    android:orientation="vertical" />

ধাপ ৩: MainActivity.java

package app.com.sample;

import android.os.Bundle;
import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        LinearLayout llMain = findViewById(R.id.rlMain);
        
        // নতুন TextView তৈরি
        TextView textView = new TextView(this);
        textView.setText("I am added dynamically to the view");
        
        // LayoutParams সেট করুন (অবশ্য)
        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
            LinearLayout.LayoutParams.MATCH_PARENT,
            LinearLayout.LayoutParams.MATCH_PARENT
        );
        textView.setLayoutParams(params);
        
        // প্যারেন্টে যোগ করুন
        llMain.addView(textView);
    }
}

মূল ধাপসমূহ

  1. View তৈরি: new TextView(context)
  2. LayoutParams তৈরি: প্যারেন্টের টাইপ অনুযায়ী (LinearLayout.LayoutParams, RelativeLayout.LayoutParams, ইত্যাদি)
  3. setLayoutParams(): ভিউয়ে প্যারাম সেট করুন
  4. addView(): প্যারেন্ট কন্টেইনারে যোগ করুন

বহু ভিউ যোগ করার জন্য লুপ

for (int i = 0; i < 10; i++) {
    TextView tv = new TextView(this);
    tv.setText("Item " + i);
    tv.setLayoutParams(new LinearLayout.LayoutParams(
        LinearLayout.LayoutParams.MATCH_PARENT,
        LinearLayout.LayoutParams.WRAP_CONTENT
    ));
    tv.setPadding(16, 16, 16, 16);
    llMain.addView(tv);
}

সতর্কতা

  • LayoutParams অবশ্য দিন, না হলে ক্র্যাশ হবে
  • প্যারেন্টের টাইপ ম্যাচ করতে হবে (LinearLayout → LinearLayout.LayoutParams)
  • বড় তালিকার জন্য RecyclerView ব্যবহার করুন (পারফরম্যান্স)

Kotlin সংস্করণ

val textView = TextView(this).apply {
    text = "Dynamic TextView"
    layoutParams = LinearLayout.LayoutParams(
        LinearLayout.LayoutParams.MATCH_PARENT,
        LinearLayout.LayoutParams.WRAP_CONTENT
    )
    setPadding(16, 16, 16, 16)
}
llMain.addView(textView)
  1. অ্যান্ড্রয়েডে ডাইনামিক্যালি বাটন যোগ করা

  2. অ্যান্ড্রয়েডে JSON পার্স করার সহজ পদ্ধতি

  3. অ্যান্ড্রয়েড TextView-এ লাইন ব্রেক যোগ করার পদ্ধতি

  4. Android-এ TextView-এ টেক্সট জাস্টিফাই (Justify) করার পদ্ধতি