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 ในคอมโพสิชัน AsyncImage ของ Coil
AsyncImage(
imageLoader = gifEnabledLoader,
...
)
แสดง GIF แบบเคลื่อนไหวโดยใช้การสนับสนุนแพลตฟอร์ม Android
AsyncImage(
model = request,
imageLoader = videoEnabledLoader,
contentDescription = null
)
Android 9 ขึ้นไป (API ระดับ 28) รองรับไฟล์ GIF แบบเคลื่อนไหวในตัว พร้อม จากไลบรารีของ Accompanist Jetpack Compose สามารถ เล่นภาพเคลื่อนไหวเหล่านี้โดยใช้โค้ดเพียงไม่กี่บรรทัด
เพิ่มทรัพยากร Dependency ของไลบรารี 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 และสื่อสมบูรณ์อื่นๆ ในแอปของคุณ