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

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

כדי להציג גרפיקה במסך, משתמשים ב-composable‏ Image. כדי לטעון תמונה (לדוגמה: PNG,‏ JPEG,‏ WEBP) או משאב וקטורי מהדיסק, משתמשים ב-API‏ painterResource עם הפניה לתמונה. לא צריך לדעת את סוג הנכס, פשוט משתמשים ב-painterResource ב-Image או ב-modifiers‏ 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. מידע נוסף על ImageBitmap זמין בקטע מפת הסיביות (bitmap) של התמונה לעומת הוקטור של התמונה.

תמיכה בפריט גרפי שניתן להזזה

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).

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