Sobre el proyecto
android-gif-drawable es una biblioteca de Android de código abierto que proporciona clases de vistas y Drawable para mostrar GIF animados. Incluye GIFLib mediante JNI para renderizar fotogramas, lo que es más eficiente que usar las clases WebView o Movie.
La biblioteca ofrece varias clases de vista listas para usar: GifImageView, GifImageButton y GifTextView, que se pueden usar directamente en diseños XML o configurarse programáticamente. Cuando un drawable asignado a estas vistas es un archivo GIF, se reconoce automáticamente como un GifDrawable y se anima. Si el drawable no es un GIF, las vistas se comportan como un ImageView o ImageButton estándar.
GifDrawable se puede construir desde múltiples fuentes, incluidos archivos de assets, recursos, URIs, matrices de bytes, FileDescriptors, rutas de archivo, archivos, AssetFileDescriptors, InputStreams y ByteBuffers. La biblioteca toma posesión de los flujos de entrada y los cierra automáticamente.
El control de animación se proporciona mediante métodos como stop(), start(), isRunning(), reset(), setSpeed(float), seekTo(int), getDuration() y getCurrentPosition(). GifDrawable implementa tanto las interfaces Animatable como MediaPlayerControl, lo que permite la integración con MediaController estándar para controles de reproducción y visualización de progreso.
La biblioteca también expone metadatos de GIF, incluidos el número de bucles, número de fotogramas, texto de comentario, recuento de bytes de fotogramas, recuento de bytes de asignación y recuento de bytes de fuente de entrada. Un mecanismo MultiCallback permite que una sola instancia de GifDrawable se anime en múltiples vistas simultáneamente.
Los requisitos incluyen Android 4.2+ (nivel de API 17+), con renderizado acelerado por hardware para GifTextureView y OpenGL ES 2.0+ para GifTexImage2D. Compilar desde el código fuente requiere el NDK de Android. La biblioteca está disponible en Maven Central y admite configuraciones de Gradle, Maven y Eclipse. Está licenciada bajo la Licencia MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.