التنسيق النسبي

تجربة طريقة الإنشاء
Jetpack Compose هي مجموعة أدوات واجهة المستخدم المقترَحة لنظام التشغيل Android. تعرَّف على كيفية استخدام التنسيقات في Compose.

RelativeLayout هي مجموعة ملفات شخصية تعرض المشاهدات الثانوية في مواضع نسبية. يمكن تحديد موضع كل طريقة عرض بالنسبة إلى العناصر التابعة (على سبيل المثال، على يسار طريقة عرض أخرى أو أسفلها) أو في مواضع نسبة إلى منطقة RelativeLayout الرئيسية (مثل المحاذاة إلى الأسفل أو اليسار أو الوسط).

ملاحظة: للحصول على دعم أفضل بشأن الأدوات، عليك إنشاء تنسيقك باستخدام ConstraintLayout بدلاً من ذلك.

إنّ RelativeLayout هي أداة فعالة جدًا لتصميم واجهة مستخدم، لأنّها يمكنها إزالة مجموعات طرق العرض المدمَجة والحفاظ على التسلسل الهرمي للتخطيط بشكل مسطح، ما يؤدي إلى تحسين الأداء. إذا وجدت نفسك تستخدم عدة مجموعات LinearLayout مدمجة، قد تتمكّن من استبدالها بعلامة RelativeLayout واحدة.

تحديد موضع المشاهدات

تسمح ميزة RelativeLayout للملفات الشخصية للأطفال بتحديد موضعها بالنسبة إلى الملف الشخصي الرئيسي أو ببعضها البعض (محددة حسب رقم التعريف). لذلك يمكنك محاذاة عنصرين عن طريق الحد الأيمن، أو جعل أحدهما أسفل الآخر، في وسط الشاشة، في منتصف الشاشة، وما إلى ذلك. يتم تلقائيًا رسم جميع طرق العرض الثانوية في أعلى يمين التنسيق، لذا يجب تحديد موضع كل طريقة عرض باستخدام خصائص التنسيق المختلفة المتاحة من RelativeLayout.LayoutParams.

وتشمل بعض خصائص التنسيق العديدة المتاحة لطرق العرض في RelativeLayout ما يلي:

android:layout_alignParentTop
إذا كانت السمة "true" تتطابق مع الحافة العلوية في هذا العرض، ستكون الحافة العلوية من العنصر الرئيسي مطابقة.
android:layout_centerVertical
إذا كانت السمة "true"، يتم توسيط هذا العنصر الفرعي عموديًا داخل العنصر الرئيسي.
android:layout_below
وضع الحافة العليا من طريقة العرض هذه أسفل العرض المحدد برقم تعريف مورد.
android:layout_toRightOf
يضع هذا العنصر الحافة اليمنى في طريقة العرض هذه على يسار العرض المحدّد باستخدام رقم تعريف مورد.

هذه ليست سوى أمثلة قليلة. تم توثيق جميع سمات التنسيق في RelativeLayout.LayoutParams.

تكون قيمة كل خاصية تنسيق إما منطقية لتفعيل موضع تنسيق بالنسبة إلى العنصر الرئيسي RelativeLayout أو معرّف يشير إلى ملف شخصي آخر في التنسيق الذي يجب وضع العرض عليه.

في تنسيق XML، يمكن الإعلان عن التبعيات مقارنةً بطرق العرض الأخرى في التنسيق بأي ترتيب. على سبيل المثال، يمكنك أن تعلن عن وضع "view1" أسفل "view2" حتى إذا كان "view2" هو آخر عرض مُعلَن عنه في التسلسل الهرمي. يوضح المثال أدناه هذا السيناريو.

مثال

يتم التأكيد على كل سمة من السمات التي تتحكم في الموضع النسبي لكل طريقة عرض.

<?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"
    android:paddingLeft="16dp"
    android:paddingRight="16dp" >
    <EditText
        android:id="@+id/name"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="@string/reminder" />
    <Spinner
        android:id="@+id/dates"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_below="@id/name"
        android:layout_alignParentLeft="true"
        android:layout_toLeftOf="@+id/times" />
    <Spinner
        android:id="@id/times"
        android:layout_width="96dp"
        android:layout_height="wrap_content"
        android:layout_below="@id/name"
        android:layout_alignParentRight="true" />
    <Button
        android:layout_width="96dp"
        android:layout_height="wrap_content"
        android:layout_below="@id/times"
        android:layout_alignParentRight="true"
        android:text="@string/done" />
</RelativeLayout>

للحصول على تفاصيل حول جميع سمات التنسيق المتاحة لكل طريقة عرض فرعية في RelativeLayout، يُرجى الاطّلاع على RelativeLayout.LayoutParams.