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

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

אפשר להשתמש בתוכן הקומפוזבילי 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, מוסיפים את הספרייה לקובץ GRid ומשתמשים ב-AsyncImage כדי לטעון תמונה מכתובת URL:

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

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

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