Skip to content

A native Android Compose library featuring iOS-style Physics Animations, Damped Drag gestures, and Particle Dissolve effects. | 包含 iOS 风格弹簧动画、阻尼拖拽和粒子消散效果的 Compose 库。

License

Notifications You must be signed in to change notification settings

jay3-yy/Compose-Symphony

Repository files navigation

🎵 Compose Symphony

让 Android 交互重获生命力

为 Jetpack Compose 带来 iOS 级别的高保真物理动画、阻尼拖拽与粒子特效。
(本项目抽取自 bilipai 客户端核心交互层)



Compose Symphony 致力于弥合 Android 与现代高端交互设计(如 iOS 风格)之间的差距。拒绝生硬的匀速运动,它开箱即用地提供了“有机”的手感、真实的物理阻尼以及令人惊叹的粒子视觉效果。


🗺️ 探索地图 (Navigation Map)

想要达成什么效果? 推荐组件 核心文件
🍬 给按钮加点“果冻”感 bouncyClickable SpringAnimations.kt
🧲 丝滑的拖拽吸附 DampedDrag DampedDrag.kt
⚛️ 灭霸式粒子消散 DissolveEffect DissolveEffect.kt
🎉 庆祝与爆炸动效 Celebration Celebration.kt

✨ 核心特性 (Features)

特性 描述 关键优势
🌊 液态物理 physics 深度模拟 iOS 滚动视图的指数级阻力曲线,拖拽时手感“黏”且顺滑。
⚛️ 粒子引擎 particle 基于 OpenGL 的高性能粒子系统,可让任何 Composable 瞬间化为粉尘。
🍎 iOS 调优 animation 内置 Apple Music/App Store 同款弹簧参数 (Spring Specs),告别猜数字调参。
🎨 微交互 interaction 提供点赞爆炸、3D 投币翻转等即插即用的微交互组件。

Tip

设计哲学:所有的动画参数都经过精心调优,默认值即是舒适的体验(Sensible Defaults)。您只需接入,不仅“能动”,而且“好动”。


📦 安装 (Installation)

(发布到 Maven Central 暂定中。目前推荐作为本地模块引入以方便二次修改)

  1. Clone 本仓库。

  2. settings.gradle.kts 中引入:

    include(":compose-symphony")
    project(":compose-symphony").projectDir = file("path/to/Compose-Symphony/library")
  3. 在您的应用 build.gradle.kts 中添加依赖:

    implementation(project(":compose-symphony"))

🚀 快速上手 (Usage)

1. 极简的“果冻”按钮

只需一行代码,让按钮拥有 Apple Music 般的点击质感。

Box(
    modifier = Modifier
        .clip(RoundedCornerShape(12.dp))
        .bouncyClickable(scaleDown = 0.92f) { // 👈 Just add this!
            // Click Action 
        }
) {
    Text("Press Me")
}

2. 粒子消散容器

包裹任何内容,通过 isDissolving 状态触发粒子化。

DissolvableVideoCard(
    isDissolving = isDissolving,
    onDissolveComplete = { /* 动画结束回调 */ }
) {
    // 任何复杂的 Composable 内容...
    VideoPlayer(...)
}


❤️ 致谢 (Acknowledgments)

"Standing on the shoulders of giants."

本项目在开发过程中,参考了以下优秀的开源项目和设计规范:


灵感源泉 (Muse) 技术基石 (Foundation)
🍎 Apple Human Interface Guidelines
提供了极具参考价值的动效规范
🤖 Jetpack Compose
让一切创意成为现实的现代画布
☁️ Haze (Chris Banes)
优秀的 Compose 模糊效果参考
🌊 BiliPai
本项目核心代码的来源与验证环境



Crafted with ❤️ by the Pure Bilibili Team
Licensed under MIT

About

A native Android Compose library featuring iOS-style Physics Animations, Damped Drag gestures, and Particle Dissolve effects. | 包含 iOS 风格弹簧动画、阻尼拖拽和粒子消散效果的 Compose 库。

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages