RelativeLayout (صفحه بندی نسبی) ، در برنامه نویسی اندروید

با استفاده از RelativeLayout (صفحه بندی نسبی) می توانید موقعیت نسبی هر شی را نسبت به شی های دیگر مشخص کنید. به عبارت دیگر می توانید موقعیت هر view را نسبت به عناصر هم رده با خودش یا نسبت به والدش مشخص کنید.

ویژگی های RelativeLayout

در جدول زیر مهم ترین ویژگی های RelativeLayout آورده شده است.

ویژگی توضیحات
android:id یک ID را برای لایوت تعیین می کند.
android:gravity موقعیت قرارگیری محتویات داخل یک شی را نسبت به محور افقی و عمودی تعیین می کند. مقدار این ویژگی را می توان با top، bottom، left، right، center و مانند این ها تعیین کرد. برای این ویژگی می توان بیش از یک مقدار نیز تعیین کرد و لازم است مقادیر را با “|” از هم جدا کنیم.
android:ignoreGravity نادیده گرفتن gravity را برای view مشخص می کند.

با استفاده از RelativeLayout می توانید دو عنصر را در یک ردیف قرار دهید، یا یکی را در زیر دیگری موقعیت دهی کنید، دیگری را در مرکز صفحه ی نمایش و تعیین موقعیت هایی دیگر مانند این ها. به طور پیش فرض تمام viewهای داخل RelativeLayout در قسمت بالا-چپ آن قرار می گیرند. بنابراین شما باید با استفاده از ویژگی های مختلفی که در RelativeLayout قابل استفاده هستند موقعیت آن ها را مشخص کنید. مهم ترینِ این ویژگی ها در جدول زیر آورده شده است.

ویژگی توضیحات
android:layout_above همسایه ی لبه ی پایین را معرفی می کند و باید با ID عنصری که پایین تر از این view قرار گرفته است مقدار دهی شود. به عبارت دیگر مشخص می کند که این view بالاتر از چه viewیی قرار گرفته است.
android:layout_alignBottom لبه ی پایین view را با لبه ی پایین viewیی که با ID مشخص می شود تراز می کند.
android:layout_alignLeft لبه ی سمت چپ view را با لبه ی سمت چپ viewیی که با ID مشخص می شود تراز می کند.
android:layout_alignParentBottom مقادیر بولین “true” یا “false” را می پذیرد و اگر “true” مقدار دهی شود یعنی لبه ی پایینی view به لبه ی پایین عنصر والدش ختم می شود.
android:layout_alignParentLeft مقادیر بولین “true” یا “false” را می پذیرد و اگر “true” مقدار دهی شود یعنی لبه ی سمت چپ view به لبه ی سمت چپ عنصر والدش ختم می شود.
android:layout_alignParentRight مقادیر بولین “true” یا “false” را می پذیرد و اگر “true” مقدار دهی شود یعنی لبه ی سمت راست view به لبه ی سمت راست عنصر والدش ختم می گردد.
android:layout_alignParentTop مقادیر بولین “true” یا “false” را می پذیرد و اگر “true” مقدار دهی شود یعنی لبه ی بالای view به لبه ی بالایی عنصر والدش ختم می شود.
android:layout_alignRight لبه ی سمت راست view را با لبه ی سمت راست viewیی که با ID مشخص می شود تراز می کند.
android:layout_alignTop لبه ی بالای view را با لبه ی بالایی viewیی که با ID مشخص می شود تراز می کند.
android:layout_below همسایه ی لبه ی بالا را معرفی می کند و باید با ID عنصری که بالاتر از این view قرار گرفته است مقدار دهی شود. به عبارت دیگر مشخص می کند که این view پایین تر از کدام view قرار دارد.
android:layout_centerHorizontal مقادیر بولین “true” یا “false” می پذیرد و اگر “true” مقدار دهی شود، view در مرکز محور افقی والدش قرار می گیرد.
android:layout_centerInParent مقادیر بولین “true” یا “false” می پذیرد و اگر “true” مقدار دهی شود، view در مرکز محور افقی و عمودی والدش قرار می گیرد.
android:layout_centerVertical مقادیر بولین “true” یا “false” می پذیرد و اگر “true” مقدار دهی شود، view در مرکز محور عمودی والدش قرار می گیرد.
android:layout_toEndOf نقطه ی شروع view را با پایان viewیی که با ID مشخص می شود تراز می کند.
android:layout_toLeftOf سمت راست view را با لبه ی سمت چپ viewیی که با ID مشخص می شود تراز می کند.
android:layout_toRightOf سمت چپ این view را با لبه ی سمت راست viewیی که با ID مشخص می شود تراز می کند.
android:layout_toStartOf نقطه ی پایان view را با شروع viewیی که با ID مشخص می شود تراز می کند.

مثال

این مثال در چند مرحله ی ساده نحوه ی ساختن یک برنامه را با استفاده از Relative Layout توضیح می دهد. مراحل ساخت برنامه در جدول زیر بیان شده است.

مرحله توضیحات
۱ با استفاده از اندروید استودیو یک پروژه ی جدید با نام Relative Layout تحت بسته ی com.example.relative.layout ایجاد کنید.
۲ محتوای پیش فرض فایل res/layout/activity_main.xml را با افزودن چند ویجت به Relative layout تغییر دهید.
۳ ثابت های رشته ای مورد نیاز را در فایل res/values/strings.xml file تعریف کنید.
۴ برنامه را با استفاده از شبیه ساز اندروید اجرا و نتیجه را مورد بررسی قرار دهید.

در زیر محتوای فایل res/layout/activity_main.xml آورده شده است:

محتوای زیر نیز مربوط به فایل res/values/strings.xml می باشند.

حال برنامه را در محیط اندروید استودیو اجرا کنید.خروجی مانند تصویر زیر خواهد بود.

لایوت در برنامه نویسی اندروید