30 open-source projects similar to koral--/android-gif-drawable, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
Fresco is an Android image loading library and cache manager designed to fetch, decode, and display images from network or local sources. It functions as a rendering engine for animated image formats and a streaming system for progressive image loading. The library distinguishes itself through specialized memory management that utilizes off-heap allocation to reduce garbage collection overhead and prevent out-of-memory errors. It includes a dedicated rendering pipeline for animated GIFs and WebP files and supports progressive JPEG decoding to render low-resolution versions of images while the
BigImageViewer is an Android image zooming library and UI component designed for displaying high-resolution images with pan and zoom capabilities while maintaining low memory usage. It functions as a unified loading wrapper that integrates with third-party providers such as Glide, Picasso, and Fresco to fetch and cache images from network or local sources. The library includes an animated image renderer that supports GIF and WebP formats through header-based detection. It facilitates image gallery navigation using shared element transitions to create smooth visual movement between thumbnails
Android-Universal-Image-Loader is an image loading library for Android applications designed to download, cache, and display images. It functions as a bitmap cache manager and processing framework that handles the retrieval of assets from remote URLs or local files. The library includes specialized utilities for extracting static frames from video files to generate thumbnails. It also provides a framework for applying visual transformations to loaded images, such as circular crops and rounded corners. The system manages performance through a two-tier caching hierarchy using both memory and d
This project is a customizable image carousel component for Android applications. It provides a rotating banner slider built on ViewPager2 that supports automatic playback and custom page transformation effects. The component distinguishes itself through flexible visual customization, allowing for adjustable pagination indicators and the application of zoom, rotation, or depth effects during page transitions. It features a timing mechanism for automatic content rotation that synchronizes with the system lifecycle to optimize resource usage. The library covers a broad range of UI capabilities
Coil is an image loading and caching pipeline designed for Android and Compose Multiplatform applications. It functions as a comprehensive loader, caching engine, and rendering utility that asynchronously fetches and displays images from network URLs, local storage, and multiplatform resource systems. The library distinguishes itself through a flexible fetcher-decoder pipeline and an interface-driven component registry, allowing for the integration of custom networking clients and decoders. It provides specialized support for rendering scalable vector graphics, animated formats such as GIF an
This project is a declarative motion framework and JavaScript animation engine designed to transition CSS properties, SVG attributes, and DOM elements. It provides a comprehensive set of tools for creating complex, multi-part motion sequences by synchronizing animations, timers, and callbacks into a single, unified timeline. The library distinguishes itself through a robust timeline-based sequence orchestrator that allows for precise timing, label-based control, and hierarchical nesting of animations. It also features a physics-driven interaction library that enables draggable elements with c
Ion is an asynchronous HTTP client library for Android that handles network requests, JSON parsing, image loading, and file downloads. It provides a fluent builder pattern for constructing requests and supports automatic JSON deserialization into Java objects using Gson, along with in-memory image caching and multipart form-data encoding. The library distinguishes itself through its support for request cancellation via Future objects, allowing individual or bulk cancellation of in-flight requests to avoid wasted bandwidth and stale callbacks. It also includes proxy-aware request routing for d
tween.js is a JavaScript animation engine and numeric interpolation library. It is designed to calculate intermediate values between a start and end state over time, using easing functions to create smooth transitions for numeric values and object properties. The project functions as both an animation sequence manager and an easing library, allowing for the coordination of concurrent animation groups and the chaining of multiple transitions. It provides tools for managing the rate of change through acceleration and deceleration functions. The library covers a broad range of motion capabiliti
lottie-react-native is a React Native animation library and cross-platform vector animation engine used to render high-quality animations exported from After Effects via the Lottie file format. It functions as a Lottie animation player that allows mobile applications to display hardware-accelerated animations that maintain visual quality across different screen resolutions. The library serves as a dynamic animation controller, enabling the manipulation of playback, color filters, and text layers in real time. It provides the ability to change animation colors and visuals by applying filters t
Picasso is an Android image loading library designed for downloading, caching, and displaying images in applications. It provides an automated system for memory and disk management to reduce network requests and improve load times. The library includes a bitmap transformation tool for resizing, cropping, and modifying assets before they are rendered. It also functions as a bridge for Jetpack Compose, converting image requests into painter objects for use within declarative Android user interfaces. The system manages image retrieval from multiple sources, including web URLs, local files, and
RoundedImageView is an Android library providing custom view implementations for rendering images with rounded corners, circles, and ovals. It uses hardware acceleration to ensure high performance and smooth edge quality when clipping images into these shapes. The library includes a customizable image border view that draws consistent strokes around images, scaling automatically as the view size changes. It also provides a tiled image background view that repeats image patterns across a surface using various tiling modes.
PhotoView is a custom Android view implementation designed to display high-resolution images with native support for zoom and pan gestures. It provides a zoomable image view and a matrix controller to manage how images are scaled and translated within a mobile user interface. The library handles the detection of pinch-to-zoom and tap gestures to enable interactive image navigation. It manages the transformation matrix of the image to ensure smooth magnification and provides viewport constraints to align photo edges with screen boundaries. The project covers the broader requirements of mobile
CircleImageView is a custom Android UI component that renders rectangular images as perfect circles with smooth antialiased edges. It functions as an extension of the native Android image view, overriding the drawing pipeline to provide specialized circular masking. The component specifically supports the creation of user profile avatars by providing customizable borders, internal padding, and background fill colors. These visual styles can be defined through custom XML attributes during the view initialization process.
FLAnimatedImage is a high-performance rendering engine and library for playing animated GIF images on iOS. It functions as an animation engine and image memory manager designed to ensure smooth frame transitions and consistent playback timing across different device environments. The project focuses on maintaining consistent animation speed through variable frame delay support and optimizes rendering efficiency to sustain high frame rates on mobile devices. It includes a memory management system to prevent application crashes and performance degradation during the playback of large or numerou
RxJava is a reactive stream processing framework and JVM reactive extensions library. It serves as an asynchronous dataflow orchestrator used to compose event-based programs by transforming, combining, and consuming real-time data flows on the Java Virtual Machine. The project distinguishes itself through integrated backpressure flow control, which manages the emission rate between producers and consumers to prevent memory exhaustion. It further provides mechanisms for concurrent thread management and parallel data processing to offload blocking operations and maintain application responsiven
EventBus is a publish-subscribe messaging library designed to facilitate decoupled communication between components in Java applications. It functions as a central hub where producers dispatch events that are routed to subscribers based on the class type of the payload. By using annotation-based markers, the system maps event handlers to specific data types, allowing different parts of an application to exchange information without requiring direct references between classes. The library distinguishes itself through a focus on performance and execution control. It utilizes a compile-time inde
Glide is an image loading and caching library for Android that fetches and decodes images, GIFs, and video stills from local or remote sources. It functions as a media rendering framework and memory management tool designed to resize and downsample assets to fit specific view dimensions. The system prioritizes scrolling performance through a multi-level caching strategy that stores decoded media in memory and raw data on disk. It employs resource pooling to reuse bitmap memory and binds image loading tasks to component lifecycles to automatically release resources and prevent memory leaks. T
BGABanner-Android is a UI library for Android providing customizable sliding image galleries and paginated sliders. It functions as a wrapper for ViewPager2, integrating navigation controls and the ability to render image banners that load content from the network. The library features auto-scrolling capabilities with looping sequences that can pause or resume based on user touch interactions. It includes configurable page indicators, such as dots or numbers, and supports custom transition animations to modify the visual effects when switching between views. The component manages banner inte
AndroidImageSlider is a reusable Android UI component designed to display sequences of local or remote images. It functions as a swipeable image viewer and media gallery widget for integrating carousels and banners into Android application layouts. The library provides customizable transition animations for its image slider component. It includes capabilities for presenting photo galleries and introductory slideshows for app onboarding. The component utilizes an adapter pattern for data binding and a scrolling container for navigation. It incorporates image loading with bitmap caching, a pro
This is a custom Android view designed for rendering high-resolution images using subsampling and tiling to prevent memory overflows. It serves as an interactive image component that supports pinch-to-zoom, panning, and double-tap animations. The project is distinguished by its rendering engine, which loads low-resolution previews and high-resolution tiles to enable the efficient navigation of massive image files. It includes a coordinate mapper that converts screen touch points into raw image pixel coordinates and vice versa during scaling and panning. The view provides a broad set of capab
Graphite is a node-based visual design environment that integrates vector illustration, raster image processing, and motion graphics generation into a single platform. It utilizes a functional reactive pipeline and a data-flow execution model to propagate state changes through a graph of interconnected nodes, allowing users to construct complex, automated design workflows. The platform distinguishes itself through a context-aware evaluation engine that injects runtime metadata—such as coordinate data and loop indices—directly into the node graph. This enables the creation of procedural geomet
Arwes is a sci-fi React UI framework and futuristic component library designed for building web interfaces with cyberpunk aesthetics. It provides a thematic web UI toolkit that combines stylized components with an SVG animation engine to create immersive visual identities. The project distinguishes itself through coordinated animation sequences that control the assembly and disassembly of interface elements. It integrates a sensory feedback system that maps user interaction events to synchronized audio clips and manages dynamic backgrounds to enhance the environmental atmosphere. The framewo
Lychee is a self-hosted photo management system and digital asset manager used to upload, organize, and share photo collections. It functions as a web-based gallery that enables the categorization of images through tags, nested albums, and metadata extraction. The platform distinguishes itself as an e-commerce image gallery and white-label portfolio, offering integrated payment gateways for selling digital images under custom licenses. It includes asset protection tools such as image watermarking and hotlink prevention, alongside branding options to remove default identifiers. The system cov
Typed.js is a JavaScript typing animation library and DOM text animator used to simulate a user typing and erasing text. It serves as a frontend animation tool for creating dynamic text transitions and visual effects within HTML elements. The library distinguishes itself through the ability to render animated typing sequences directly inside the placeholder attribute of HTML input fields. It also supports reading animation strings from static HTML elements to maintain search engine visibility and accessibility. The tool covers animation control with configurable timing and playback state man
exif-js is a JavaScript library for extracting image metadata directly in the browser. It functions as a binary image buffer parser that reads raw image bytes to retrieve technical details without requiring files to be uploaded to a server. The library parses data following the EXIF and IPTC standards to extract camera settings, timestamps, GPS coordinates, captions, keywords, and copyright information. It utilizes typed arrays and offset-based traversal to navigate image structures and map numeric identifiers to human-readable tags.
lottie-ios is a vector graphics engine and animation framework for iOS that renders animations exported from After Effects as native visual elements. It functions as a renderer that converts animation data into high-fidelity native shapes to maintain small file sizes on mobile devices. The framework provides tools for managing playback, looping, and real-time property updates. It allows for the modification of colors, positions, and keyframe properties of active animations to respond to application state changes. The system parses JSON-based animation data and maps keyframes to native layers
lottie-react-native is a library for rendering Lottie JSON animations as native graphics within a cross-platform mobile framework. It serves as a JSON-based animation renderer that parses design-exported files into high-performance vector animations on mobile devices. The framework uses a GPU-accelerated vector animation implementation to offload rendering to the device processor, reducing CPU load to maintain smooth motion. It provides a cross-platform motion framework for controlling animation playback, layout scaling, and dynamic color modifications across different mobile screens. The li
LoadingDrawable is an Android loading drawable library that provides customizable drawable components to indicate background task activity or loading states. It functions as a collection of custom view components and progress indicators that integrate with standard Android views. The library enables the rendering of animated loading indicators for refresh components or image placeholders and tracks loading progress to reflect the completion percentage of time-consuming operations. The implementation covers Android progress visualization and UI design, utilizing canvas-level drawing and drawa
Lottie-android is a native vector animation engine and library for Android that parses JSON specification files into high-fidelity animations. It functions as a JSON animation parser and renderer, translating After Effects exported data into native draw calls to maintain design fidelity on mobile devices. The library supports dynamic user interface control by allowing the modification of animation properties, such as colors, text, and shape attributes, during runtime playback. It also integrates with system-level accessibility settings to adjust playback and visibility in accordance with redu