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

ভিন্ন ভিন্ন লেআউট তৈরী করুন

ভিন্ন ভিন্ন স্ক্রিন সাইজে আপনার ইউজার এক্সপেরিয়েন্স সক্রিয় করতে, আপনার উচিত প্রতিটা স্ক্রিন সাইজের জন্যে একটি স্বতন্ত্র লেআউট এক্সএমএল ফাইল তৈরী করা যা আপনি সাপোর্ট করতে চান। প্রতিটা লেআউট যথাযথ রিসোর্স ডিরেক্টরীতে সেভ করা উচিত, একটি-< screen_size> সাফিক্স সহ দেয়া নাম । উদাহরণস্বরূপ, একটি লার্জ স্ক্রিনের জন্য স্বতন্ত্র লেআউট res/layout-large/এর অধীনে সেভ করা উচিত।

নোট: স্ক্রিনকে সম্পূর্ণভাবে মানানসই করার জন্য অ্যান্ড্রয়েড স্বয়ংক্রিয়ভাবে আপনার লেআউটের সমতা রক্ষা করে। তাই ভিন্ন ভিন্ন স্ক্রিন সাইজের জন্য আপনার লেআউটের ইউজার ইন্টারফেস এলিমেন্টের পরিপূর্ণ সাইজ নিয়ে চিন্তিত হওয়ার কোন কারন নেই কিন্তু পরিবর্তে লেআউট কাঠামোর উপরে ফোকাস করা ইউজার এক্সপেরিয়েন্সে প্রভাব ফেলে ( যেমন গুরুত্বপূর্ণ ভিউ এর সাইজ অথবা অবস্থান সিবলিং ভিউ এর সাথে সম্পর্কিত)।

উদাহরণস্বরূপ, এই প্রজেক্ট লার্জ স্ক্রিনের জন্য একটা ডিফল্ট লেআউট এবং একটি বিকল্প লেআউট অন্তর্ভূক্ত করে:

MyProject/
    res/
        layout/
            main.xml
        layout-large/
            main.xml

ফাইলটির নাম অবশ্যই একই হতে হবে, কিন্ত অনুরূপ স্ক্রিন সাইজের জন্য অপটিমাইজড ইউজার ইন্টারফেস সরবরাহ করার জন্য তাদের বিষয়বস্তু ভিন্ন থাকে।

আপনার অ্যাপে সাধারনভাবে শুধুমাত্র লেআউট ফাইলটি উল্লেখ করুন:

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

সিস্টেমটি ডিভাইসের স্ক্রিনের সাইজ যেখানে আপনার অ্যাপ রান করছে তার উপর ভিত্তি করে যথাযথ লেআউট ডিরেক্টরী থেকে লেআউট ফাইলটি লোড করে । কীভাবে অ্যান্ড্রয়েড যথাযথ রিসোর্স বাছাই করে এ সম্পর্কে আরও তথ্য Providing Resources গাইডে আছে।

ভিন্ন একটা উদাহরণ হিসাবে, এখানে দেয়া হলো ল্যান্ডস্কেপ ওরিয়েন্টেশনের জন্য বিকল্প লেআউট সহ একটি প্রজেক্ট:

MyProject/
    res/
        layout/
            main.xml
        layout-land/
            main.xml

বাই ডিফল্ট, layout/main.xml ফাইলটি পোর্টেইট ওরিয়েন্টেশন এর জন্য ব্যবহার করা হয়।

আপনি যদি ল্যান্ডস্কেপের জন্য একটি স্পেশাল লেআউট দিতে চান, কোন লার্জ স্ক্রিনের ক্ষেত্রেও, তখন আপনার large এবং land উভয় কোয়ালিফায়ার ব্যবহার করা উচিত:

MyProject/
    res/
        layout/              # default (portrait)
            main.xml
        layout-land/         # landscape
            main.xml
        layout-large/        # large (portrait)
            main.xml
        layout-large-land/   # large landscape
            main.xml

নোট: অ্যান্ড্রয়েড ৩.২ এবং এর চেয়ে উন্নত সংস্করন স্ক্রিন সাইজ নির্ধারণে উন্নত পদ্ধতিকে সাপোর্ট করে, যা আপনাকে ডেনজিটি -স্বাধীন পিক্সেল এর শর্তে সর্বনি¤œ প্রস্থ এবং উচ্চতার ভিত্তিতে স্ক্রিন সাইজের জন্য রিসোর্স কে সুনির্দিষ্ট করতে অনুমোদন দেয়। এই অনুশীলনী এই নতুন কৌশল কে ধারন করে না। আরও তথ্যের জন্য, বিভিন্ন ধরনের স্ক্রিনের জন্য ডিজাইন করা অধ্যয়টি পড়ুন।