يمكنك إدارة مجموعات البيانات الكبيرة والمحتوى الديناميكي باستخدام الشبكات البطيئة التحميل، ما يؤدي إلى تحسين أداء التطبيق. باستخدام العناصر القابلة للتجميع في الشبكة البطيئة التحميل، يمكنك عرض العناصر في حاوية قابلة للتمرير على مستوى أعمدة أو صفوف متعددة.
توافق الإصدار
يتطلّب هذا التنفيذ ضبط الحد الأدنى من إصدار حزمة 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 الأوسع نطاقًا:
عرض قائمة أو شبكة
عرض المكونات التفاعلية