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