A micro-interaction like button built with Jetpack Compose.
- Two-layer heart animation (coral ↔ white) with smooth crossfade
- Circle fill / drain with synced text color transition
- Directional pulse ring effect on tap
- Rolling number ticker (slide up / slide down)
- Bounce offset with spring-like keyframes
- Design system tokens (colors, dimensions)
- Draw-phase animations via
graphicsLayerfor performance
- Kotlin
- Jetpack Compose (Material 3)
- Compose Animation APIs (
Animatable,keyframes,AnimatedContent)
likeb/
├── MainActivity.kt → Screen + AnimatedLikeButton composable
├── LikeAnimations.kt → Like / Unlike animation orchestration
└── ui/theme/
├── Color.kt → Color tokens
├── Dimens.kt → Size & spacing tokens
├── Theme.kt → Material 3 theme
└── Type.kt → Typography
MIT License — feel free to use and modify.
