menu

لایه RelativeLayout در اندروید

با لایه RelativeLayout و خصوصیات و ویژگی های آن بیشتر آشنا شوید


با استفاده از لایه "RelativeLayout" می توان مشخص نمود عناصر نسبت به هم چگونه قرار گیرند و جایگاه هرکدام را نسبت به عناصر دیگر مشخص نمود.

خصوصیات مهم لایه RelativeLayout

لایه ها دارای خصوصیات بسیاری هستند که مهم ترین آن ها را با هم فرا می گیریم:

خصوصیت توضیح
android:id یک شناسه که به صورت یکتا می باشد.
android:layout_width میزان عرض لایه را مشخص می کند و می تواند دارای سه حالت "fill parent"، "match parent" و "wrap content" و یا مقدار مشخص بگیرد.
android:layout_height میزان ارتفاع لایه را مشخص می کند و می تواند دارای سه حالت "fill parent"، "match parent" و "wrap content" و یا مقدار مشخص بگیرد.
android:background یکی دیگر از خصوصیات لایه ها "android:background" می باشد که به وسیله آن می توان پس زمینه لایه را تغییر داد.
android:gravity با خصوصیت "android:gravity" نیز می توان تمامی عناصر درون لایه را به جهات مختلف از جمله وسط، راست ، چپ و ... برد.
adroid:padding میزان پد از هرجهت لایه را مشخص می کند و می توان برای آن مقداری را مشخص نمود.

خصوصیات مهم عناصر درون لایه RelativeLayout

عناصری که داخل لایه RelativeLayout قرار می گیرند دارای خصوصیات جدیدی می شوند که می تواند در طراحی به ما کمک زیادی کند. به عنوان مثال فرض کنید می خواهیم یک ردیف برای لیست خود طراحی نماییم که این ردیف شما یک تصویر کوچک برای آیکون و دو متن برای عنوان و توضیح کوتاه باشد. برای این کار با استفاده از خصوصیات لایه RelativeLayout می توانیم به آسانی موقعیت عناصر گفته شده را نسبت به هم در صفحه مشخص کنیم و کارمان برای طراحی آسان تر گردد. برای فهم بهتر این موضوع به مثال زیر توجه نمایید:

relativelayout1

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

          
  <?xml version="1.0" encoding="utf-8"?>
  <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"
    android:padding="16dp">

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="30dp"
        android:text="عنوان مطلب"
        android:id="@+id/txttitle"
        android:layout_alignParentLeft="true"
        android:layout_toLeftOf="@+id/imageView"
        android:gravity="right"
        android:textSize="20dp"
        android:textColor="#000"
        android:background="#fff" />

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="30dp"
        android:text="توضیح کوتاه"
        android:id="@+id/txtdesc"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/txttitle"
        android:layout_toLeftOf="@+id/imageView"
        android:gravity="right"
        android:textSize="18dp"
        android:textColor="#000"
        android:background="#fff" />

    <ImageView
        android:layout_width="60dp"
        android:layout_height="60dp"
        android:id="@+id/imageView"
        android:src="@mipmap/ic_launcher"
        android:layout_alignParentRight="true" />

  </RelativeLayout>    
          

برای نمونه، برای اینکه آیکون قرار داده شده در سمت راست لایه قرار بگیرد از خصوصیت "android:layout_alignParentRight" استفاده می کنیم و مقدار آن را برابر "true" قرار می دهیم. همچنین برای آنکه متن ها در سمت چپ آیکون قرار گیرند از خصوصیت "android:layout_toLeftOf="@+id/imageView" استفاده می کنیم. برای فهم بیشتر می توانید یک لایه جدید بسازید و مباحث و خصوصیات گفته شده را تمرین کنید.