يمكنك إدارة مجموعات البيانات الكبيرة والمحتوى الديناميكي باستخدام الشبكات البطيئة التحميل، ما يؤدي إلى تحسين أداء التطبيق. باستخدام العناصر القابلة للتجميع في الشبكة البطيئة التحميل، يمكنك عرض العناصر في حاوية قابلة للتمرير على مستوى أعمدة أو صفوف متعددة.
توافق الإصدار
يتطلّب هذا التنفيذ ضبط الحد الأدنى من إصدار حزمة SDK لمشروعك على المستوى 21 من واجهة برمجة التطبيقات أو إصدار أحدث.
التبعيات
تحديد اتجاه الشبكة
توفّر العناصر القابلة للتجميع LazyHorizontalGrid
وLazyVerticalGrid
إمكانية عرض العناصر في شبكة. تعرِض الشبكة العمودية البطيئة عناصرها
في حاوية قابلة للتمرير عموديًا، على مستوى أعمدة متعددة، في حين أنّه
تظهر الشبكة الأفقية البطيئة بالطريقة نفسها على المحور الأفقي.
إنشاء شبكة قابلة للتنقّل
تنشئ التعليمة البرمجية التالية شبكة لف أفقي يتضمّن ثلاثة أعمدة:
@Composable fun ScrollingGrid() { val itemsList = (0..15).toList() val itemModifier = Modifier .border(1.dp, Color.Blue) .width(80.dp) .wrapContentSize() LazyHorizontalGrid( rows = GridCells.Fixed(3), horizontalArrangement = Arrangement.spacedBy(16.dp), verticalArrangement = Arrangement.spacedBy(16.dp) ) { items(itemsList) { Text("Item is $it", itemModifier) } item { Text("Single item", itemModifier) } } }
النقاط الرئيسية حول الرمز
- يحدِّد العنصر القابل للتجميع
LazyHorizontalGrid
الاتجاه الأفقي للشبكة.- لإنشاء شبكة رأسية، استخدِم
LazyVerticalGrid
بدلاً من ذلك.
- لإنشاء شبكة رأسية، استخدِم
- تحدّد السمة
rows
كيفية ترتيب محتوى الشبكة.- بالنسبة إلى الشبكة العمودية، استخدِم السمة
columns
لتحديد الترتيب.
- بالنسبة إلى الشبكة العمودية، استخدِم السمة
- يضيف
items(itemsList)
itemsList
إلىLazyHorizontalGrid
. تعرِض دالة lambda عنصرًا قابلاً للتجميع من النوعText
لكل عنصر وتضبط النص على وصفه. - تضيف
item()
عنصرًا واحدًا إلىLazyHorizontalGrid
، في حين أنّ دالة lambda تعرِضText
واحدًا قابلاً للتجميع بطريقة مشابهة لitems()
. - تحدِّد
GridCells.Fixed
عدد الصفوف أو الأعمدة. لإنشاء شبكة تحتوي على أكبر عدد ممكن من الصفوف، اضبط عدد الصفوف باستخدام
GridCells.Adaptive
.في الرمز التالي، تحدد القيمة
20.dp
أنّ كل عمود لا يقلّ عن 20.dp، وأنّ جميع الأعمدة لها عرض متساوٍ. إذا كانت الشاشة عريضة بـ 88.dp، سيكون هناك 4 أعمدة بحجم 22.dp لكل منها.
النتائج
LazyHorizontalGrid
.المجموعات التي تتضمّن هذا الدليل
هذا الدليل هو جزء من مجموعات الأدلة السريعة المنظَّمة التي تتناول أهداف تطوير Android الأوسع نطاقًا:
![](https://developer.android.com/static/images/quick-guides/collection-illustration.png?hl=ar)
عرض قائمة أو شبكة
![](https://developer.android.com/static/images/quick-guides/collection-illustration.png?hl=ar)
عرض المكونات التفاعلية
![](https://developer.android.com/static/images/quick-guides/collection-illustration.png?hl=ar)