A library providing Views and Drawables for displaying and controlling animated GIFs on Android with native performance.
android-gif-drawable is a library for Android that provides Views and Drawables to display and control animated GIFs efficiently. It solves the problem of poor GIF performance in Android by using native GIFLib rendering via JNI, offering better performance than WebView or Movie classes. The library includes ready-to-use UI components and fine-grained animation controls.
Android developers who need to integrate animated GIFs into their apps with smooth performance and advanced control features, such as media playback controls, speed adjustment, and metadata access.
Developers choose android-gif-drawable for its native-level performance, comprehensive animation controls, and easy integration with standard Android UI components. It is a specialized, open-source solution that outperforms built-in Android options for GIF handling.
Views and Drawable for displaying animated GIFs on Android
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses bundled GIFLib via JNI for efficient frame rendering, outperforming WebView or Movie classes, as stated in the README for smoother animations.
Supports constructing GifDrawable from assets, resources, URIs, byte arrays, files, and more, offering flexibility in loading GIFs from various data sources.
Implements Animatable and MediaPlayerControl, enabling play, pause, stop, speed adjustment, and seeking, similar to video playback with fine-grained control.
Provides GifImageView, GifImageButton, and GifTextView that automatically recognize GIFs in XML, making integration straightforward without extra code.
Requires Android 4.2+ (API 17), excluding support for older devices, which limits compatibility for apps needing broader audience reach.
Depends on JNI and native code, complicating setup and potentially increasing APK size, especially when building from source requires Android NDK.
The sample project is noted as 'under construction' and not covering all features, which can hinder learning and debugging for developers.