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

ল্যান্ডস্কেপ লেআউট ডিজাইন করা

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

  • স্ক্রিনের বাম অথবা ডান পাশে স্ক্রিন নেভিগেশনাল নিয়ন্ত্রণ (কন্ট্রোল) রাখুন এবং কনটেন্টের জন্য ভার্টিক্যাল (উলম্ব) স্পেস সেভ করুন।

  • UIs তৈরী করুন যা সেকশনে বিভক্ত, Fragments ব্যবহার করার মাধ্যমে এবং হরাইজন্টাল (আনুভুমিক) স্ক্রিন স্পেসে উত্তমরূপে ব্যবহার করতে ListView এর পরিবর্তে GridView এর মতো ভিউ গ্রুপ ব্যবহার করুন।

  • ভিউ বিন্যাস করতে ভিউ গ্রুপ ব্যবহার করুন যেমন RelativeLayout বা LinearLayout । এটা অ্যান্ড্রয়েড সিস্টেমকে টিভি স্ক্রিনের সাইজ, এলাইনমেন্ট, আসপেক্ট রেশিও, এবং পিক্সেল ডেনজিটির সাথে ভিউয়ের অবস্থানকে সমন্বয় করতে দেয়।

  • একটি বিশৃঙ্খল ইউআই (UI) পরিহার করতে লেআউট নিয়ন্ত্রনের (কন্ট্রোল) মধ্যে যথেষ্ট মার্জিন যোগ করুন।

উদাহরণ, নীচের লেআউটটি টিভির জন্য অপটিমাইজ করা:

এই লেআউটে, নিয়ন্ত্রণটি (কন্ট্রোল) বাম পাশে আছে। ইউআই (UI) একটি GridView এর মধ্যে প্রদর্শিত হয়, যা ল্যান্ডস্কেপে ওরিয়েন্টেশনে সুন্দরভাবে থাকে। এই লেআউটে GridView এবং Fragment উভয়েরই গতিশীলভাবে প্রস্থ এবং উচ্চতা সেট আছে, তাই তারা স্ক্রিন রেজ্যুলেশনের সাথে খাপ খাওয়াতে পারে। নিয়ন্ত্রণ (কন্ট্রোল) রানটাইমে প্রোগ্রামেটিকভাবে বাম পাশের ফ্রাগমেন্টে যোগ হয়। এই ইউআই (UI) জন্য লেআউট ফাইল হচ্ছে res/layout-land-large/photogrid_tv.xml । (এই লেআউট ফাইল ষধুড়ঁঃ-ষধহফ-ষধৎমব এ স্থানান্তরিত হয় কারন টিভির ল্যান্ডস্কেপ ওরিয়েন্টেশন সহ লার্জ স্ক্রিন থাকে। বিস্তারিত জানতে দেখুন Supporting Multiple Screens- http://developer.android.com/guide/practices/screens_support.html)|

res/layout-land-large/photogrid_tv.xml

<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <fragment
        android:id="@+id/leftsidecontrols"
        android:layout_width="0dip"
        android:layout_marginLeft="5dip"
        android:layout_height="match_parent" />

    <GridView
        android:id="@+id/gridview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</RelativeLayout>

স্ক্রিনের বাম পাশে একশন বার আইটেম সেটআপ করতে, কন্ট্রোল যোগ করতে কাস্টম ফ্রাগমেন্ট তৈরী করার পরিবর্তে স্ক্রিনের বাম পাশে একশন আইটেম সেট করতে আপনি আপনার অ্যাপলিকেশনে Left navigation bar library (লিংক: http://code.google.com/p/googletv-android-samples/source/browse/#git%2FLeftNavBarLibrary) ও অন্তর্ভূক্ত করতে পারেন:

LeftNavBar bar = (LeftNavBarService.instance()).getLeftNavBar(this);

যখন আপনার একটি একটিভিটি থাকে যাতে কনটেন্ট ভার্টিক্যালি স্ক্রল করে, সব সময় একটি বাম (লেফ্ট) নেভিগেশন বার ব্যবহার করুন, অন্যথায় আপনার ইউজারকে কনটেন্ট এবং একশন বারের মধ্যে স্থানান্তরিত হতে কনটেন্টের উপরে স্ক্রল করতে হবে। আপনার অ্যাপে লেফট নেভিগেশন বার অন্তর্ভূক্ত করতে Left navigation bar sample app দেখুন (http://code.google.com/p/googletv-android-samples/source/browse/#git%2FLeftNavBarDemo)।