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.
âĻ Features
- ðŽ Ready-to-use loading & progress animations
- ⥠Built for Jetpack Compose â clean & modern API
- ðĻ Customizable colors, sizes, and speeds
- ðŠķ Lightweight, no unnecessary dependencies
- ð§ Utility functions for advanced motion
âķïļ 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
- Any IDE with SDK installed (ie. Android Studio, VSCode, IntelliJ, etc)
- A little knowledge of Kotlin and Jetpack Compose.
- A brain to think ðĪðĪ
ð License
This project is licensed under the Apache License 2.0.