טעינת תמונה מהדיסק
כדי להציג גרפיקה במסך, משתמשים ב-composable Image. כדי לטעון תמונה (לדוגמה: PNG, JPEG, WEBP) או משאב וקטורי מהדיסק, משתמשים ב-API painterResource עם הפניה לתמונה. לא צריך לדעת את סוג הנכס, פשוט משתמשים ב-painterResource ב-Image או ב-modifiers 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 זמין בקטע מפת הסיביות (bitmap) של התמונה לעומת הוקטור של התמונה.
תמיכה בפריט גרפי שניתן להזזה
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
- גרפיקה בפיתוח נייטיב