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

সাইজ কোয়ালিফায়ার ব্যবহার করা

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

উদাহরন হিসাবে বলা যায়, অনেক অ্যাপলিকেশন বড় স্ক্রিনের জন্য "two pane" প্যাটার্ন বাস্তবায়ন করে (অ্যাপ একটি পেনে একটি আইটেমের লিস্ট এবং অপর প্যানে কনটেন্ট দেখাতে পারে)। ট্যাবলেট এবং টিভি স্ক্রিন উভয় পেন পাশাপাশি ফিট করার জন্য যথেষ্ট, কিন্তু ফোনের স্ক্রিনে তাদের আলাদাভাবে দেখাতে হয়। তাই এই লেআউটগুলো বাস্তবায়ন করতে আপনার নিচের ফাইলগুলো থাকা প্রয়োজন:

  • res/layout/main.xml, single-pane (default) layout:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <fragment android:id="@+id/headlines"
                      android:layout_height="fill_parent"
                      android:name="com.example.android.newsreader.HeadlinesFragment"
                      android:layout_width="match_parent" />
        </LinearLayout>
  • res/layout-large/main.xml, two-pane layout:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal">
    <fragment android:id="@+id/headlines"
              android:layout_height="fill_parent"
              android:name="com.example.android.newsreader.HeadlinesFragment"
              android:layout_width="400dp"
              android:layout_marginRight="10dp"/>
    <fragment android:id="@+id/article"
              android:layout_height="fill_parent"
              android:name="com.example.android.newsreader.ArticleFragment"
              android:layout_width="fill_parent" />
</LinearLayout>

দ্বিতীয় লেআউটের ডিরেক্টরী নামের ষধৎমব কোয়ালিফায়ার লক্ষ্য করুন। এই লেআউট বড় হিসাবে শ্রেণীকৃত স্ক্রিন দিয়ে ডিভাইসে নির্বাচিত হবে (উদাহরণ, ৭" ট্যাবলেট এবং এর চেয়ে বেশী)। অন্য লেআউট (কোয়ালিফায়ার ছাড়া) ছোট ডিভাইসের জন্য নির্বাচিত হবে।