Grid هي واجهة برمجة تطبيقات في Jetpack Compose تتيح لك تنفيذ تنسيق ثنائي الأبعاد بمرونة.
باستخدام واجهة برمجة التطبيقات هذه، يمكنك عرض العناصر في تنسيقات متعدّدة الأعمدة أو متعدّدة الصفوف تتكيّف مع حجم الحاوية المتاح.
Grid
ما هو الفرق بين Grid والمكوّنات القابلة للإنشاء المشابهة؟
توفر Compose مكونات مشابهة، مثل LazyVerticalGrid.
هذه المكوّنات مخصّصة بشكل أساسي لعرض مجموعات البيانات الكبيرة والمتجانسة، مثلاً عرض فهرس محتوى في تطبيق بث فيديو. ولا يتم تصميم هذه المكوّنات للتنسيق الهيكلي لشاشة أو مكوّن معقّد.
يمكنك أيضًا تنفيذ تنسيق ثنائي الأبعاد من خلال الجمع بين عدة مكوّنات قابلة للإنشاء Row وColumn.
ومع ذلك، لهذه الطريقة بعض السلبيات، مثل التسلسلات الهرمية العميقة والصعوبات في التكيّف.
يوضّح الجدول التالي نظرة عامة على التنسيقات المناسبة لكل واجهة برمجة تطبيقات:
| المكوّن | الغرض |
|---|---|
LazyVerticalGrid وLazyStaggeredGrid وLazyHorizontalGrid |
عرض مجموعات البيانات الكبيرة والمتجانسة التي تتطلّب التحميل المؤجّل |
Row وColumn وFlexBox |
تنسيق أحادي الأبعاد |
Grid |
تنسيق ثنائي الأبعاد |
المصطلحات
تعرَّف على المصطلحات التالية لفهم طريقة عمل Grid.
خط الشبكة
تتكوّن الشبكة من خطوط أفقية وعمودية. إذا كانت شبكتك تتضمّن ثلاثة صفوف، سيكون لها أربعة خطوط أفقية، بما في ذلك الخط الذي يلي الصف الأخير. في الصورة التالية، يمثّل كل خط متقطّع خط شبكة:
مسار الشبكة
مسار الشبكة هو المسافة بين خطَّي شبكة. يكون مسار الصف بين خطَّين أفقيَّين، بينما يكون مسار العمود بين خطَّين عموديَّين. لتحديد حجم هذه المسارات، عليك تعيين حجم لها عند إنشاء الشبكة.
خلية شبكة
خلية الشبكة هي تقاطع مسار صف ومسار عمود.
مساحة الشبكة
تتكوّن مساحة الشبكة من عدة خلايا شبكة. يمكنك تحديد مساحة شبكة من خلال جعل أحد العناصر يمتد على مسارات متعددة.
فجوة الشبكة
فجوة الشبكة هي المسافة بين مسارات الشبكة. لا يمكنك وضع عنصر في واجهة المستخدم في فجوة، ولكن يمكنك جعل عنصر في واجهة المستخدم يمتد عليها.