Loadify
πΌ Loadify is a modern, Compose-native image loading library for Android. It supports GIFs, SVGs, WebP, Lottie animations, vector drawables, Bitmaps, and more β all without relying on Coil, Glide, or Picasso. π― Designed for speed, flexibility, and full control in Jetpack Compose. #Loadify #Quadlogixs #LoadifyImageLoad #LoadifyCompose
Install / Use
/learn @dev-kami/LoadifyREADME
πΌοΈ Loadify - The Ultimate Image Loading Library for Jetpack Compose
<img src="sample.gif" width="300"/>Loadify is a lightweight, powerful image loading library built natively in Kotlin for Jetpack Compose.
It supports all modern image typesβGIF, SVG, WebP, Vector, Bitmap, Lottieβand offers unmatched performance and customization with zero dependencies like Coil, Picasso, or Glide.
π Features
β
Load from URL, Drawable, Bitmap, Uri
β
Full support for GIFs (via AnimatedImageDrawable)
β
Render SVGs, WebP, Vector Drawables
β
Play Lottie Animations (from raw res or remote URL)
β
Built-in Caching: memory & disk
β
Image Transformations: Circle Crop, Blur
β
Customize headers, placeholders, and error states
β
Full loading state lifecycle: onLoading, onSuccess, onError
β
MIT Licensed & 100% Kotlin
π¦ Installation (Maven Central)
// build.gradle (Kotlin DSL)
dependencies {
implementation("com.quadlogixs.loadify:loadify:0.1.1")
}
repositories {
mavenCentral()
}
π§ͺ Usage
Loadify(
data = "https://example.com/image.jpg",
modifier = Modifier.size(100.dp),
placeholder = { CircularProgressIndicator() },
onLoadSuccess = { println("Loaded!") },
onLoadError = { println("Failed") }
)
π§© Supported Formats
| Format | Source | β Supported | |----------------|------------------------|--------------| | PNG, JPG, BMP | URL, Drawable | β | | WebP | URL, Drawable | β | | SVG | URL | β | | GIF | URL, Drawable | β | | Lottie JSON | RawRes, URL | β | | Bitmap | Instance | β | | Uri | From content picker | β |
β¨ Advanced Options
Loadify(
data = "https://example.com/image.webp",
modifier = Modifier.size(120.dp),
circleCrop = true,
blurRadius = 10,
colorFilter = ColorFilter.tint(Color.Red),
headers = mapOf("Authorization" to "Bearer token123"),
contentScale = ContentScale.Fit,
onLoading = { /* show loader */ },
onLoadSuccess = { /* success */ },
onLoadError = { /* error */ },
lottieOptions = LottieOptions(
isPlaying = true,
iterations = LottieConstants.IterateForever,
speed = 1.2f,
renderMode = RenderMode.AUTOMATIC
)
)
ποΈ Format-Specific Examples
πΌ Vector Drawable
Loadify(data = R.drawable.ic_vector)
π GIF (from drawable or URL)
Loadify(data = R.drawable.animated_gif)
Loadify(data = "https://example.com/cat.gif")
π¨ SVG
Loadify(data = "https://example.com/image.svg")
π¬ Lottie Animation
Loadify(data = R.raw.loading_animation)
Loadify(data = "https://example.com/lottie.json")
π· From Uri (image picker)
Loadify(data = selectedImageUri)
πΈ Sample Gallery
- βοΈ Vector Drawable
- βοΈ WebP
- βοΈ Lottie (Raw & URL)
- βοΈ GIF (Drawable & Remote)
- βοΈ Bitmap
- βοΈ URI (Picker)
- βοΈ SVG from Web
- βοΈ PNG / JPG
π Sample App
Run the sample project inside the sample/ module to preview all features live.
π License
MIT License
Copyright (c) 2025 Kamran
π Author
Kamran (@dev-kami)
π GitHub
π§ mkami.kamran786@gmail.com
βοΈ Show some love
If you like Loadify, consider giving it a βοΈ on GitHub β it helps more devs discover modern, dependency-free Compose tools!
