SkillAgentSearch skills...

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/Loadify

README

πŸ–ΌοΈ 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!

View on GitHub
GitHub Stars13
CategoryDevelopment
Updated1mo ago
Forks0

Languages

Kotlin

Security Score

95/100

Audited on Feb 8, 2026

No findings