আপনি LinearLayout এর নেসটেড ইনসট্যান্স এবং "wrap_content" এবং "match_parent" সাইজের সমাহার ব্যবহার করার মাধ্যমে মোটামুটিভাবে জটিল লেআউট তৈরী করতে পারেন। কিন্তু LinerarLayout আপনাকে সঠিকভাবে চাইল্ড ভিউয়ের স্থান সম্পর্কিত সম্পর্ককে নিয়ন্ত্রণ করতে দিবে না; একটি LinearLayout এর মধ্যে ভিউ সরলভাবে পাশাপাশি লাইনে অবস্থান করে। আপনার যদি চাইল্ড ভিউ একটি সোজা লাইনে নয় বরং একটি বৈচিত্রময় ওরিয়েন্টেশনে থাকুক, এক্ষেত্রে ভালো সমাধান হচ্ছে একটি RelativeLayout ব্যবহার করা, যা আপনাকে কম্পোনেন্টের মধ্যেকার স্থানসংক্রান্ত সম্পর্কের শর্তে আপনার লেআউটকে নির্দিষ্ট করতে দেয়। উদাহরণস্বরূপ, আপনি স্ক্রিনের বাম পাশে একটি চাইল্ড ভিউ এবং ডান পাশে আরেকটি চাইল্ড ভিউ এলাইন করতে পারেন।
উদাহরণ:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/label"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Type here:"/>
<EditText
android:id="@+id/entry"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/label"/>
<Button
android:id="@+id/ok"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/entry"
android:layout_alignParentRight="true"
android:layout_marginLeft="10dp"
android:text="OK" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@id/ok"
android:layout_alignTop="@id/ok"
android:text="Cancel" />
</RelativeLayout>
ফিগার ২ দেখাচ্ছে কীভাবে এই লেআউট একটি QVGA স্ক্রিনে দৃশ্যমান হয়।
ফিগার ২. একটি QVGA স্ক্রিনের স্ক্রিনশট (ছোট স্ক্রিন)
ফিগার ৩ দেখাচ্ছে কীভাবে এটা একটি বড় স্ক্রিনে দৃশ্যমান হয়।
ফিগার ৩. একটি WSVGA স্ক্রিনের স্ক্রিনশট (বড় স্ক্রিন)
উল্লেখ্য যে যদিও উপাদানের (কম্পোনেন্ট) সাইজ পরিবর্তন হয়েছে, তাদের স্থান সংক্রান্ত সম্পর্ক সংরক্ষিত থাকে যেভাবে RelativeLayout.LayoutParams দ্বারা নির্দিষ্ট হয়।