טעינת תמונה מהדיסק
אפשר להשתמש בקומפוזיציה 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:
AnimatedVectorDrawable
-
BitmapDrawable
(PNG, JPG, WEBP) ColorDrawable
VectorDrawable
טעינת תמונה מהאינטרנט
כדי לטעון תמונה מהאינטרנט, יש כמה ספריות של צד שלישי שיכולות לעזור לכם בתהליך. ספריות לטעינת תמונות עושות בשבילכם את רוב העבודה הקשה. הן מטפלות גם בשמירת נתונים במטמון (כדי שלא תורידו את התמונה כמה פעמים) וגם בלוגיקה של הרשת כדי להוריד את התמונה ולהציג אותה על המסך.
לדוגמה, כדי לטעון תמונה באמצעות Coil מ-Instacart, מוסיפים את הספרייה לקובץ gradle ומשתמשים ב-AsyncImage
כדי לטעון תמונה מכתובת URL:
AsyncImage( model = "https://example.com/image.jpg", contentDescription = "Translated description of what the image contains" )
סליל
ספרייה לטעינת תמונות שמבוססת על Kotlin Coroutines (Instacart).
Glide
ספרייה מהירה ויעילה לטעינת תמונות ב-Android, שמתמקדת בגלילה חלקה (Google).
מקורות מידע נוספים
מומלץ עבורך
- הערה: טקסט הקישור מוצג כש-JavaScript מושבת
- מקורות מידע ב-Compose
- נגישות בכתיבת הודעות
- גרפיקה ב-Compose