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

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

משתמשים ברכיב ה-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).

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