Animowane GIF-y ułatwiają komunikację i wyrażanie siebie, dodając dynamiczne wciągający element rozmowy, który pozwala użytkownikom wyrażać emocje, Są bardziej skuteczne niż statyczne obrazy czy sam tekst. Popularność GIF-ów w kulturze online sprawia, że ich integracja jest kluczowa za utrzymanie trafności i atrakcyjności dla użytkowników, którzy oczekują nowoczesnych funkcji funkcje multimedialne.
Wyświetlaj animowany GIF, korzystając z biblioteki wczytującej obrazy
Biblioteki wczytywania obrazów wykonują za Ciebie dużo zadań, często dodając wsteczną obsługę takich funkcji jak animowane GIF-y. Poniżej pokazuje, jak wdrożyć odtwarzanie animowanego GIF-a za pomocą Biblioteka wczytywania obrazu cewki:
Dodaj zależność cewki do pliku GIF:
implementation("io.coil-kt:coil-gif:2.6.0")
Utwórz program wczytujący z obsługą GIF-ów, korzystając z platformy ImageDecoder dodanej w Androidzie 9 (poziom API 28) oraz GifDecoder firmy Coil, który zapewnia zgodność wsteczną:
val gifEnabledLoader = ImageLoader.Builder(this)
.components {
if ( SDK_INT >= 28 ) {
add(ImageDecoderDecoder.Factory())
} else {
add(GifDecoder.Factory())
}
}.build()
Użyj klasy gifEnabledLoader w funkcji kompozycyjnej Coil AsyncImage:
AsyncImage(
imageLoader = gifEnabledLoader,
...
)
Wyświetlaj animowane GIF-y na platformie Android
AsyncImage(
model = request,
imageLoader = videoEnabledLoader,
contentDescription = null
)
Android 9 lub nowszy (poziom interfejsu API 28) ma wbudowaną obsługę animowanych plików GIF. Dzięki biblioteki Accompanist, Jetpack Compose aby odtworzyć te animacje za pomocą kilku wierszy kodu.
Dodaj zależność z biblioteką towarzyszącą, aby obsługiwać malarzy z możliwością rysowania:
implementation("com.google.accompanist:accompanist-drawablepainter:0.35.0-alpha")
Utwórz metodę wczytywania animowanego GIF-a do elementu AnimatedImageDrawable. za pomocą 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
}
Używaj elementu rememberDrawablePainter z
AnimatedImageDrawable
:
Image(
painter = rememberDrawablePainter(
drawable = createAnimatedImageDrawableFromImageDecoder(applicationContext, mediaUri)),
contentDescription = "animated gif"
)
Obsługa plików GIF z klawiatur graficznych i innych treści multimedialnych
Animowane pliki GIF to popularne funkcje wielu klawiatur z Androidem, w tym:
Gboard od Google. Obecny zalecany sposób wspierania
naklejkę lub animację, niezależnie od tego, czy pochodzi ona z metody wprowadzania czy innego materiału,
aplikacji, to OnReceiveContentListener
.
Przeczytaj artykuł Otrzymywanie szczegółowych treści, aby dowiedzieć się więcej o obsłudze obsługiwanych formatów odbieranie animacji GIF i innych multimediów w aplikacji.