বাংলায় অ্যান্ড্রয়েড সহায়িকা - Bangla Android Guide

XML ব্যবহার করে একটিভিটিতে ফ্র্যাগমেন্ট সংযোজন করুন

যখন ফ্রাগমেন্ট পূণর্ব্যবহারযোগ্য, মডিউলার ইউজার ইন্টারফেস কম্পোনেন্ট, একটি Fragment ক্লাসের প্রতিটা ইনসটেন্স অবশ্যই একটি প্যারেন্ট FragmentActivity এর সাথে সম্পৃক্ত থাকতে হবে। আপনার একটিভিটি লেআউট এক্সএমএল ফাইলের মধ্যে প্রতিটা ফ্রাগমেন্ট নির্ধারন করে আপনি এই সম্পৃক্ততা অর্জন করতে পারেন।

নোট: এপিআই লেভেল ১১ এর চেয়ে পুরাতন সিস্টেম ভার্সনে ফ্রাগমেন্ট কে ধারন করতে সাপোর্ট রাইব্রেরীতে প্রদেয় FragmentActivity একটা বিশেষ একটিভিটি। যদি নুন্যতম সিস্টেম ভার্সন এপিআই লেভেল ১১ বা এর চেয়ে বেশী হয় যাকে আপনি সাপোর্ট করছেন, তখন আপনি নিয়মিত Activity ব্যবহার করতে পারেন।

এখানে লেআউট ফাইলের একটা উদাহরন দেয়া হলো যা একটি একটিভিটিতে দুটি ফ্র্রাগমেন্ট যুক্ত করে যখন ডিভাইস স্ক্রিন “লার্জ” (বড়) হিসাবে বিবেচ্য হয় (ডিরেক্টরি নেম এ large কোয়ালিফায়ার দ্বারা নির্ধারিত)

res/layout-large/news_articles.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <fragment android:name="com.example.android.fragments.HeadlinesFragment"
              android:id="@+id/headlines_fragment"
              android:layout_weight="1"
              android:layout_width="0dp"
              android:layout_height="match_parent" />

    <fragment android:name="com.example.android.fragments.ArticleFragment"
              android:id="@+id/article_fragment"
              android:layout_weight="2"
              android:layout_width="0dp"
              android:layout_height="match_parent" />

</LinearLayout>

টিপস: ভিন্ন ভিন্ন স্ক্রিনের জন্য লেআউট তৈরী করা সম্পর্কিত আরও তথ্য জানতে বিভিন্ন ধরনের স্ক্রিন সাইজ সাপোর্ট করা অধ্যায়টি পড়ুন।

এরপর আপনার একটিভিটিতে লেআউটটি প্রয়োগ করুন:

import android.os.Bundle;
import android.support.v4.app.FragmentActivity;

public class MainActivity extends FragmentActivity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.news_articles);
    }
}

যদি আপনি v7 appcompat library ব্যবহার করে থাকেন, আপনার একটিভিটির পরিবর্তে actionBarActivity ব্যবহার করা উচিত, যা FragmentActivity এর সাব ক্লাস (আরও জানতে অফফরহম ঃযব অপঃরড়হ ইধৎ পড়ুন)।

নোট: লেআউট এক্সএমএল ফাইলে ফ্রাগমেন্ট নির্ধারন করার মাধ্যমে যখন আপনি একটিভিটি লেআউটে ফ্রাগমেন্ট সংযোজন করবেন, রানটাইমে এই ফ্রাগমেন্ট কে বিযুক্ত করতে পারবেন না। আপনি যদি ইউজার ইন্টারেকশনের সময় আপনার ভিতওে এবং বাইরে অদল বদল করার পরিকরল্পনা করে থাকেন, আপনাকে অবশ্যই একটিভিটিতে ফ্রাগমেন্ট যুক্ত করতে হবে যখন একটিভিটি প্রথম শুরু করে, পরবর্তী অনুশীলনীতে যেবাবে দেখানো হয়েছে সেভাবে।