The Principal Dev – Masterclass for Tech Leads

The Principal Dev – Masterclass for Tech Leads28-29 May

Join

SmoothMotion 🚀

SmoothMotion is a Kotlin library for Jetpack Compose that makes animations and transitions effortless.
It provides pre-built animations for common UI interactions and utility functions for complex effects — so you can focus on building beautiful UIs faster.

GitHub stars JitPack License PRs Welcome


âœĻ Features


â–ķïļ Demo

https://github.com/user-attachments/assets/68e449a0-e938-4598-a290-958ba33e150a

Installation

Add the JitPack repository to your settings.gradle.kts

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
        maven { url = uri("https://jitpack.io") }
    }
}

Add the dependency to your build.gradle.kts

dependencies {
    implementation ("com.github.abdullahalhakimi:SmoothMotion:1.0.1")
}

Examples

Drop Circle Progress

DropCircleProgress(
    modifier = Modifier.size(90.dp),
    backgroundColor = Color.Gray.copy(alpha = 0.2f),
    color = MaterialTheme.colorScheme.primary,
)

Circled Dots Progress

CircledDotsProgress(
    modifier = Modifier.size(90.dp),
    backgroundColor = Color.Gray.copy(alpha = 0.2f),
    color = MaterialTheme.colorScheme.primary,
)

Rotating Circle Progress

RotatingCircleProgress(
    modifier = Modifier.size(90.dp),
    color = MaterialTheme.colorScheme.primary
)

Rotating Filled Circle Progress

RotatingFilledCircleProgress(
    modifier = Modifier.size(90.dp),
    color = MaterialTheme.colorScheme.primary
)

Loading DotsAnimation

LoadingDotsAnimation(
    circleSize = 20.dp,
    spaceBetween = 10.dp,
    travelDistance = 15.dp,
    circleColor = MaterialTheme.colorScheme.primary
)

Outlined Loading Dots Animation

OutlinedLoadingDotsAnimation(
    color = MaterialTheme.colorScheme.primary
)

âœĻ Requirements

📄 License

This project is licensed under the Apache License 2.0.

Join libs.tech

...and unlock some superpowers

GitHub

We won't share your data with anyone else.