LinearLayout
هو مجموعة مشاهدات تعمل على محاذاة كل الأطفال في اتجاه واحد، عموديًا أو أفقيًا. يمكنك تحديد اتجاه التنسيق باستخدام السمة
android:orientation
.
![صورة تعرض تصميمًا مقسّمًا إلى ثلاث شرائح عمودية](https://developer.android.com/static/images/ui/linearlayout.png?authuser=7&hl=ar)
LinearLayout
مع ثلاثة أطفال موجّهين أفقيًا.
يتم تكديس جميع عناصر LinearLayout
الثانوية واحدًا تلو الآخر،
لذلك لا تتضمّن القائمة العمودية سوى عنصر واحد في كل صف، بغض النظر عن مدى اتساعها. يبلغ ارتفاع القائمة الأفقية صفًا واحدًا فقط، وهي ارتفاع أطول عنصر ثانوي، بالإضافة إلى المساحة المتروكة. تحترم السمة LinearLayout
الهوامش بين المنصّات، والجاذبية، أي المحاذاة إلى اليمين أو الوسط أو اليسار لكل طفل.
وزن التصميم
تتيح السمة LinearLayout
أيضًا تخصيص سمة weight للأطفال الفرديين باستخدام السمة android:layout_weight
. تحدد هذه السمة قيمة "الأهمية" لأحد العروض من حيث المساحة التي تشغلها على الشاشة. تتيح قيمة الوزن الأكبر توسيعها
لملء المساحة المتبقية في طريقة العرض الأصلية. يمكن أن تحدد طرق العرض الفرعية قيمة الوزن، ويتم تخصيص أي مساحة متبقية في مجموعة العرض للأطفال بشكل متناسب، بناءً على وزنهم المعلن. الوزن التلقائي هو صفر.
توزيع متساوي
لإنشاء تنسيق خطي يستخدم فيه كل عنصر ثانوي المساحة نفسها
على الشاشة، اضبط
android:layout_height
لكل طريقة عرض على "0dp"
لتنسيق رأسي، أو اضبط قيمة
android:layout_width
لكل عرض على "0dp"
للحصول على تنسيق أفقي. بعد ذلك، اضبط القيمة
android:layout_weight
لكل ملف شخصي على القيمة ""1"
".
توزيع غير متكافئ
يمكنك أيضًا إنشاء تخطيطات خطية تستخدم فيها العناصر الفرعية مساحات مختلفة على الشاشة. ضع في الاعتبار الأمثلة التالية:
- لنفترض أنّ لديك ثلاثة حقول نصية: حقلان يتضمّنان قيمة الوزن 1، وثالثًا يتضمّن قيمة الوزن التلقائية 0. ولا يشغل الحقل النصي الثالث الذي تبلغ قيمة الوزن 0 سوى المساحة المطلوبة لمحتواه. يتم توسيع الحقلَين النصيَّين الآخرَين، وهما قيمة العرض 1، بشكل متساوٍ لملء المساحة المتبقية بعد قياس محتوى الحقول الثلاثة.
- بدلاً من ذلك، إذا كان لديك ثلاثة حقول نصية تكون فيها قيمة الوزن 1 والحقل الثالث بوزن 2، سيتم تخصيص المسافة المتبقية بعد قياس محتوى الحقول الثلاثة على النحو التالي: نصف المساحة إلى الحقل بقيمة الوزن 2، ونقسم النصف بالتساوي بين الحقول التي تكون فيها قيمة الوزن 1.
يوضح مقتطف الرمز والشكل التالي كيفية عمل تقديرات التنسيق في نشاط "إرسال الرسالة". إنّ حقول إلى وسطر الموضوع وزر إرسال تشغل مساحة كل منها الارتفاع الذي تحتاجه فقط. وتشغل منطقة الرسالة بقية ارتفاع النشاط.
![صورة تعرض ثلاثة نصوص تحريرية وزرًا في تنسيق خطي عمودي](https://developer.android.com/static/images/ui/sample-linearlayout.png?authuser=7&hl=ar)
LinearLayout
باتجاه عمودي.
<?xml version="1.0" encoding="utf-8"?> <LinearLayout 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" android:orientation="vertical" > <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/to" /> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/subject" /> <EditText android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:gravity="top" android:hint="@string/message" /> <Button android:layout_width="100dp" android:layout_height="wrap_content" android:layout_gravity="end" android:text="@string/send" /> </LinearLayout>
للحصول على تفاصيل حول السمات المتاحة لكل ملف شخصي ثانوي في
LinearLayout
، يُرجى مراجعة
LinearLayout.LayoutParams
.