Header Ads

Header ADS

Relative Layout

🧱 RelativeLayout কী

RelativeLayout হলো একটি ViewGroup,
যা child view-গুলোকে অন্য view বা parent layout-এর সাপেক্ষে স্থাপন করতে দেয়।

অর্থাৎ, তুমি ঠিক বলতে পারো:

  1. View A হবে View B এর নিচে

  2. View C হবে View D এর ডান পাশে

  3. View E হবে parent এর center-এ


🧩 RelativeLayout-এর মূল বৈশিষ্ট্য

  1. Parent-relative positioning

    1. Child view parent layout-এ কিভাবে থাকবে (center, top, bottom, left, right)

  2. Sibling-relative positioning

    1. Child view অন্য কোনো sibling view এর তুলনায় কোথায় থাকবে (নিচে, ডান পাশে, start/end ইত্যাদি)

  3. Rendering order

    1. যেই view আগে লেখা হয়, সেটি প্রথম render হয়।

    2. অন্য view যা তার ওপর নির্ভরশীল, তারা সেই view-এর অবস্থান অনুযায়ী render হয়।


🧾 View ID ব্যবহার

RelativeLayout এ sibling reference করতে হলে view-এর ID লাগবেই।

Syntax:

android:id="@+id/view_name"

আর অন্য view সেই view কে reference করতে চাইলে:

android:layout_below="@id/view_name"

লক্ষ্য করো: এখানে + নেই, কারণ ID আগেই তৈরি হয়েছে।


🧱 RelativeLayout Attribute উদাহরণ

Attribute ব্যাখ্যা
android:layout_alignParentTop parent-এর top এ align করে
android:layout_alignParentBottom parent-এর bottom এ align করে
android:layout_centerInParent parent-এর center-এ রাখে
android:layout_centerHorizontal parent-এর horizontal center-এ রাখে
android:layout_centerVertical parent-এর vertical center-এ রাখে
android:layout_below অন্য view এর নিচে রাখে
android:layout_above অন্য view এর উপরে রাখে
android:layout_toRightOf অন্য view-এর ডান পাশে রাখে
android:layout_toLeftOf অন্য view-এর বাম পাশে রাখে

📄 একটি উদাহরণ

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Welcome"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="50dp"/>

    <Button
        android:id="@+id/loginButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Login"
        android:layout_below="@id/title"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="20dp"/>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Register"
        android:layout_below="@id/loginButton"
        android:layout_alignParentStart="true"
        android:layout_marginTop="20dp"/>
</RelativeLayout>

🔍 ব্যাখ্যা

  1. title TextView parent layout-এর horizontal center-এ।

  2. loginButton title TextView-এর নিচে, horizontal center-এ।

  3. Register button loginButton এর নিচে, parent layout-এর বাম দিকে।


🧠 সংক্ষেপে মনে রাখো

বিষয় ব্যাখ্যা
RelativeLayout Child views-কে parent বা sibling-এর সাপেক্ষে অবস্থান করতে দেয়
View ID অন্যান্য views-কে reference করতে ব্যবহার হয়
+id vs id +id → ID তৈরি, id → reference
Alignment attributes alignParent*, layout_below, layout_above, layout_toRightOf ইত্যাদি


Powered by Blogger.