10- اندرويد : التنسيق الخطي LinearLayout

ملاحظة : الموضوع عبارة عن حلقة من حلقات سلسلة برمجة وتطوير اندرويد Android Development

اندرويد : التنسيق الخطي   LinearLayout

السلام عليكم ورحمة الله وبركاته

نتابع في هذه الحلقة الحديث عن التنسيقات ضمن اندرويد.new prof

نتعلم ضمن هذه الحلقة مايلي :

  1. خاصية الوزن ضمن التنسيق weight
  2. بعض الامثلة التطبيقية.

التنسيق الخطي Linear Layout

التنسيق الخطي عبارة عن view group تقوم برصف كل ابناء التنسيق (العناصر التي يحويها التنسيقview ) في اتجاه وحيد بشكل افقي او عمودي. بإمكاننا تحديد هذا الاتجاه (اتجاه التنسيق) عبر خاصية android:orientation.

linearlayout

يتم رصف كل ابناء التنسيق الخطي LinearLayout وراء بعضهم البعض, وبذلك سيتولد لدينا إما قائمة عمودية تحوي على ابن ( عنصر) واحد ضمن كل سطر- وذلك بصرف النظر عن مقدار عرض ذاك العنصر- او قائمة افقية تحوي على سطر وحيد بارتفاع واحد ( وهذا الارتفاع يحدده ارتفاع الابن الأطول ضمن عناصر القائمة, بالاضافة إلى مسافة الحشو التي يتم اضافتها padding).

يحترم تنسيق LinearLayout مسافة الهامش الموجودة بين الابناء, وكذلك هو الوضع بالنسبة لمحاذاة الابناء بالنسبة لبعضهم البعض.

وزن التنسيق Layout Weight

العناصر الموزونة بمقدار متساوي equally weighted children

لكي ننشأ تنسيق خطي يشغل فيه كل عنصر من العناصر نفس المساحة على الشاشة, نحتاج إلى ان نسند إلى الخاصية android:layout_height القيمة "0dp" وذلك بالنسبة لكل عنصر ضمن التنسيق (بالنسبة للتنسيق العمودي Vertical Layout).او ان نسند إلى الخاصية android:layout_width القيمة "0dp" وذلك بالنسبة للتنسيق الافقي Horizental Layout.ومن ثم بعد ذلك يتم اسناد القيمة 1 لخاصية android:layout_weight وذلك لكل عنصر view  ضمن التنسيق.

يدعم التنسيق الخطي LinearLayout ايضا امكانية اسناد خاصية الوزن weight إلى الابناء بشكل افرادي , وذلك عبر الخاصية android:layout_weight.

تقوم هذه الخاصية باسناد قيمة إلى العنصر , وتشير هذه القيمة إلى مقدار المساحة التي يتوجب ان يشغلها هذا العنصر على الشاشة.

إن قيم الوزن الكبيرة تسمح للعناصر(view) بالتمدد لتملأ كل الفراغ المتبقي ضمن ال view الأب.

قيمة الوزن weight الافتراضية تساوي الصفر.

على سبيل المثال: في حال كان هنالك 3 حقول نصية , وقد صرح اثنان منهما بخاصية الوزن بقيمة تساوي 1,بينما العنصر المتبقي لم يصرح عن خاصية الوزن, عندها فإن هذا العنصر الاخير لن يتمدد , وانما سوف يشغل المكان اللازم له فقط بحسب محتواه. بينما العنصران الاخران الذان صرحا  عن خاصية الوزن سوف يتمددان ليشغلا الفراغ المتبقى بعد ان يتم قياس كل الحقول .

اما في حال اعطي الحقل الثالث قيمة وزن مساوية ل 2 (بدل من 0), عندها نكون بذلك قد صرحنا بان هذا العنصر له اهمية اكثر من بقية العناصر, وبالتالي فسوف يحصل هذا العنصر على منتصف اجمالي الفراغ المتبقي, بينما العنصران الاخران سيتشاركان بالبقية بشكل متساوي.

مثال:

sample-linearlayout

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:paddingLeft="16dp"
    android:paddingRight="16dp"
    android:orientation="vertical" >
    <EditText
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:hint="@string/to" />
    <EditText
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:hint="@string/subject" />
    <EditText
        android:layout_width="fill_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="right"
        android:text="@string/send" />
</LinearLayout>

لمزيد من المعلومات حول الخصائص المتاحة فيما يخص كل ابن view ضمن تنسيق LinearLayout , بالامكان مراجعة LinearLayout.LayoutParams.

عند هذه النقطة نكون قد شرحنا بشكل واضح ومفيد بعض خصائص واستعمالات التنسيق الخطي, اتمنى لكم الفائدة , والى لقاء جديد في الحلقة المقبلة التي تتحدث عن التنسيق النسبيRelative layout .

وإلى ذلك الحين استودعكم الله والسلام عليكم ورحمة الله وبركاته.

تحوي سلسلة اندرويد المواضيع التالية :

  1. التعريف باندرويد What is Android
  2. مكونات واجهة المستخدم الاساسية في اندرويد Basic Andorid User Interface Components
  3. خطوات تثبيت اندرويد Android Install Steps
  4. بناء مشروع اندرويد
  5. تشغيل تطبيقك على اندرويد Running Your Application  
  6. بناء واجهة مستخدم بسيطة UI 
  7. تشغيل فعالية أخرى Starting another Activity
  8. بناء مشروع اندرويد – التحويل بين درجات الحرارة Android Temperature Converter
  9. تنسيقات واجهة المستخدم ضمن اندرويد  UI Layouts
  10. اندرويد : التنسيق الخطي LinearLayout

Advertisements

, , , , , , , , , , , , , , , , , , , , , , , , , ,

  1. أضف تعليق

اترك رد

Please log in using one of these methods to post your comment:

WordPress.com Logo

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   / تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   / تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   / تغيير )

Google+ photo

أنت تعلق بإستخدام حساب Google+. تسجيل خروج   / تغيير )

Connecting to %s

%d مدونون معجبون بهذه: