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

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

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.