התמונות בטעינה

טעינת תמונה מהדיסק

משתמשים ברכיב ה-Composable‏ Image כדי להציג גרפיקה במסך. כדי לטעון תמונה (לדוגמה: PNG, ‏ JPEG, ‏ WEBP) או משאב וקטורי מהדיסק, משתמשים ב-API של painterResource עם ההפניה לתמונה. לא צריך לדעת את סוג הנכס, פשוט משתמשים ב-painterResource בשינוי של Image או paint.

DrawScope:

Image(
    painter = painterResource(id = R.drawable.dog),
    contentDescription = stringResource(id = R.string.dog_content_description)
)

כדי לוודא שהאפליקציה נגישה, צריך לספק contentDescription לרכיבים חזותיים במסך. ‫TalkBack מקריא את תיאור התוכן, לכן חשוב לוודא שהטקסט ברור כשהוא מוקרא ומתורגם. בדוגמה שלמעלה, נעשה שימוש ב-stringResource() כדי לטעון את תיאור התוכן המתורגם מהקובץ strings.xml. אם הרכיב החזותי במסך נועד רק לקישוט, מגדירים את contentDescription ל-null כדי שקורא המסך יתעלם ממנו.

אם אתם צריכים פונקציונליות ספציפית ל-ImageBitmap ברמה נמוכה יותר, אתם יכולים להשתמש ב-ImageBitmap.imageResource() כדי לטעון מפת סיביות (bitmap). מידע נוסף על ImageBitmaps זמין בקטע ImageBitmap לעומת ImageVector.

תמיכה ב-Drawable

‫painterResource תומך בסוגים הבאים של רכיבים גרפיים:

טעינת תמונה מהאינטרנט

כדי לטעון תמונה מהאינטרנט, יש כמה ספריות של צד שלישי שיכולות לעזור לכם בתהליך. ספריות לטעינת תמונות עושות הרבה מהעבודה הקשה בשבילכם. הן מטפלות גם בשמירה במטמון (כדי שלא תורידו את התמונה כמה פעמים) וגם בלוגיקה של הרשת כדי להוריד את התמונה ולהציג אותה במסך.

לדוגמה, כדי לטעון תמונה באמצעות Coil מ-Instacart, מוסיפים את הספרייה לקובץ ה-gradle ומשתמשים ב-AsyncImage כדי לטעון תמונה מכתובת URL:

AsyncImage(
    model = "https://example.com/image.jpg",
    contentDescription = "Translated description of what the image contains"
)

ספריית טעינת תמונות שמגובה על ידי שגרות המשך (coroutines) ב-Kotlin‏ (Instacart).

ספרייה מהירה ויעילה לטעינת תמונות ב-Android, שמתמקדת בגלילה חלקה (Google).

מקורות מידע נוספים