অ্যান্ড্রয়েড জাভা কোড থেকে ডাইনামিক ভিউ যুক্ত করা

অ্যান্ড্রয়েডে আমরা সাধারণত XML থেকে ভিউ এড করি। এখন দেখব কিভাবে জাভা কোড থেকে ভিউ যুক্ত করা যায়। প্রথমে একটা প্রজেক্ট খুলে নিব অ্যান্ড্রয়েড স্টুডিওতে।ভিউ এড করার জন্য আমাদের একটা প্যারেন্ট ভিউ লাগবে। activity_main.xml এ একটা বাটন যুক্ত করব। আর MainActivity.java যুক্ত করব OnClickListener. এর পর বাটনের OnClickListener এ আমরা ডাইন্যামিক্যালই ভিউ যুক্ত করার কোড লিখব। আর টা অনেক সহজঃ

 

  tv = new TextView(this);
            tv.setText("This text added dynamically.");
            tv.setTextColor(0xff000000);
            linearLayout.addView(tv);

আমরা একটা টেক্সট ভিউ ভ্যারিয়েবল নিয়েছি। এর পর ঐ ভ্যারিয়েবলে কি টেক্সট সেট করতে চাই, টা সেট করেছি। কালার সেট করেছি। আর কোন প্যারেন্ট ভিউতে টেক্সটভিউতি যুক্ত করব, টা সেট করে দিলাম। এই তো! রান করলে নিচের মত করে আউটপুট পাবোঃ
Dynamic View

 

সম্পুর্ণ activity_main.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:id="@+id/main"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="me.jakir.dynamicview.MainActivity">


    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Add New View"
        android:id="@+id/btnAdd"
        android:layout_gravity="center_horizontal" />
</LinearLayout>

 

সম্পুর্ণ MainActivity.java:

package me.jakir.dynamicview;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    Button btnAdd;
    LinearLayout linearLayout;
    TextView tv;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        btnAdd = (Button) findViewById(R.id.btnAdd);
        linearLayout = (LinearLayout) (findViewById(R.id.main));

        btnAdd.setOnClickListener(this);
    }

    @Override
    public void onClick(View view) {

        if (view.getId() == R.id.btnAdd)
        {
            tv = new TextView(this);
            tv.setText("This text added dynamically.");
            tv.setTextColor(0xff000000);
            linearLayout.addView(tv);


        }
    }
}

 

অ্যান্ড্রয়েড নিয়ে অন্যান্য সব লেখা পাওয়া যাবে অ্যান্ড্রয়েড অ্যাপ ডেভেলপমেন্ট পেইজে। প্রজেক্টের সোর্স কোড পাওয়া যাবে গিট রিপোজিটোরিতে। 

Leave a Reply