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