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