קובצי GIF מונפשים משפרים את התקשורת ואת הביטוי העצמי, ומוסיפים רכיב דינמי ומעניין לשיחות. הם מאפשרים למשתמשים להעביר רגשות, תגובות והומור בצורה יעילה יותר מאשר תמונות סטטיות או טקסט בלבד. בגלל הפופולריות של קובצי GIF בתרבות האינטרנט, השילוב שלהם חיוני אם הם נשארים רלוונטיים ומושכים משתמשים שמצפים לתכונות מודרניות חוויית מולטימדיה עשירה.
הצגת GIF מונפש באמצעות ספריית לטעינת תמונות
ספריות הטעינה של התמונות עושות את העבודה הקשה בשבילך, ולעיתים קרובות מוסיפה תמיכה בתאימות לאחור בתכונות כמו קובצי GIF מונפשים. הקוד הבא מראה איך מטמיעים הפעלה של קובצי GIF מונפשים באמצעות ספריית הטעינה של תמונות Coil:
מוסיפים את התלות ב-Coil עבור GIF:
implementation("io.coil-kt:coil-gif:2.6.0")
יוצרים כלי טעינה עם GIF באמצעות הפלטפורמה ImageDecoder, שנוסף ב-Android 9 (רמת API 28), וגם ב-GifDecoder של Coil לתאימות לאחור:
val gifEnabledLoader = ImageLoader.Builder(this)
.components {
if ( SDK_INT >= 28 ) {
add(ImageDecoderDecoder.Factory())
} else {
add(GifDecoder.Factory())
}
}.build()
משתמשים ב-gifEnabledLoader ב-composable של Coil AsyncImage:
AsyncImage(
imageLoader = gifEnabledLoader,
...
)
הצגת GIF מונפש באמצעות התמיכה בפלטפורמת Android
AsyncImage(
model = request,
imageLoader = videoEnabledLoader,
contentDescription = null
)
Android בגרסה 9 ואילך (רמת API 28) כולל תמיכה מובנית בקובצי GIF מונפשים. בעזרת ספריית נגינה, אפשר להפעיל את האנימציות האלה ב-Jetpack Compose באמצעות כמה שורות קוד בלבד.
מוסיפים את התלות של ספריית Accompanist לתמיכה בציירים שניתנים לשרטוט:
implementation("com.google.accompanist:accompanist-drawablepainter:0.35.0-alpha")
יוצרים שיטה שטעינה את קובץ ה-GIF המונפש ל-AnimatedImageDrawable באמצעות ImageDecoder:
private fun createAnimatedImageDrawableFromImageDecoder(context: Context, uri: Uri): AnimatedImageDrawable {
val source = ImageDecoder.createSource(context.contentResolver, uri)
val drawable = ImageDecoder.decodeDrawable(source)
return drawable as AnimatedImageDrawable
}
משתמשים ב-rememberDrawablePainter עם
AnimatedImageDrawable:
Image(
painter = rememberDrawablePainter(
drawable = createAnimatedImageDrawableFromImageDecoder(applicationContext, mediaUri)),
contentDescription = "animated gif"
)
תמיכה בקובצי GIF ממקלדות תמונה ותוכן עשיר אחר
קובצי GIF מונפשים הם תכונות פופולריות במקלדות רבות של Android, כולל
Gboard מ-Google. הדרך המומלצת הנוכחית לתמוך בכל סוג של סטיקרים או אנימציות, בין אם הם מגיעים משיטת הקלט או מאפליקציה אחרת, היא להשתמש ב-OnReceiveContentListener.
במאמר קבלת תוכן עשיר מוסבר איך להטמיע באפליקציה תמיכה בקבלת קובצי GIF מונפשים ותוכן עשיר אחר.