בעזרת רשתות 'לא עצלניות' אפשר לנהל מערכי נתונים גדולים ותוכן דינמי, וכך לשפר את ביצועי האפליקציה. בעזרת רכיבים מורכבים של רשת עצלה, אפשר להציג פריטים במארז שניתן לגלילה, שמשתרע על פני כמה עמודות או שורות.
תאימות גרסאות
כדי להטמיע את הקוד הזה, צריך להגדיר את minSDK של הפרויקט לרמת API 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) } } }
נקודות עיקריות לגבי הקוד
- הרכיב ה-composable
LazyHorizontalGrid
קובע את הכיוון האופקי של הרשת.- כדי ליצור רשת אנכית, משתמשים ב-
LazyVerticalGrid
במקום זאת.
- כדי ליצור רשת אנכית, משתמשים ב-
- המאפיין
rows
מציין איך לסדר את התוכן של התצוגה.- כדי להציג רשת אנכית, צריך להשתמש במאפיין
columns
כדי לציין את הסדר.
- כדי להציג רשת אנכית, צריך להשתמש במאפיין
items(itemsList)
מוסיף אתitemsList
ל-LazyHorizontalGrid
. פונקציית הלמהדה יוצרת רכיבText
לכל פריט ומגדירה את הטקסט כתיאור הפריט.item()
מוסיף פריט אחד ל-LazyHorizontalGrid
, בעוד שהפונקציה lambda מפעילה רכיבText
אחד שאפשר לשלב בדרכים דומות ל-items()
.GridCells.Fixed
מגדיר את מספר השורות או העמודות.כדי ליצור רשת עם כמה שיותר שורות, מגדירים את מספר השורות באמצעות
GridCells.Adaptive
.בקוד הבא, הערך
20.dp
מציין שכל עמודה צריכה להיות לפחות 20.dp, ושכל העמודות צריכות להיות באותו רוחב. אם המסך רחב ב-88.dp, יש 4 עמודות בגודל 22.dp כל אחת.
תוצאות
LazyHorizontalGrid
.אוספים שמכילים את המדריך הזה
המדריך הזה הוא חלק מהאוספים הבאים של מדריכים מהירים, שמכסים יעדים רחבים יותר לפיתוח Android:
![](https://developer.android.google.cn/static/images/quick-guides/collection-illustration.png?hl=he)
הצגת רשימה או רשת
![](https://developer.android.google.cn/static/images/quick-guides/collection-illustration.png?hl=he)
הצגת רכיבים אינטראקטיביים
![](https://developer.android.google.cn/static/images/quick-guides/collection-illustration.png?hl=he)