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

טעינה של קובץ אימג' מהדיסק

משתמשים ברכיב ה-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. מידע נוסף על קובצי ImageBitmap זמין בקטע ImageBitmap לעומת ImageVector.

תמיכה ב-Drawable

בשלב זה, painterResource תומך בסוגי ה-drawable הבאים:

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

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

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

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

ספריית טעינה של תמונות שמבוססת על Kotlin Coroutines‏ (Instacart).

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