Amicro加载动画清单(四):文字、终端与Apple风格(Dynamic Island/Face ID)加载组件
【免费下载链接】Amicro--Micro-transitions-项目地址: https://gitcode.com/gh_mirrors/am/Amicro--Micro-transitions-
Amicro 是一个基于 React + Motion 的加载动画(Loading 组件)开源合集。本篇清单聚焦三大类共 25 个加载组件:文字加载动画、终端风格加载动画与Apple 风格加载动画(含 Dynamic Island 灵动岛、Face ID 扫描),全部即插即用,帮助新手快速为项目添加高级感等待动效。
本集速览:三大类加载动画一览
| 类别 | 组件数量 | 典型效果 | 适用场景 |
|---|---|---|---|
| ✍️ 文字加载动画 | 12 | 文字闪烁、打字光标、字符逐字弹出 | 思考中、内容生成、AI 对话 |
| 🖥️ 终端风格加载动画 | 2 | ~ %光标闪烁、黑底命令行 | 开发者工具、科技感界面 |
| 🍎 Apple 风格加载动画 | 11 | 灵动岛呼吸、Face ID 扫描线、Siri 声浪 | 移动端、拟物化交互 |
所有组件的注册信息都集中在 registry.json,每个组件对应一个 JSON 描述文件,包含名称、效果说明与完整源码。
一、文字加载动画:8 种经典等待文案动效
文字类加载动画用一句话的状态(如 "Thinking"、"Loading")替代转圈,非常适合 AI 对话、内容渲染等待场景。
闪烁与打字机:最直观的等待暗示
| 组件名 | 视觉效果 | 效果说明 |
|---|---|---|
text-blink | 文字呼吸 | "Thinking" 文字以 1.5s 周期透明度闪烁,节奏柔和 |
text-morph | 文字变形 | 两段文字上下交错轮播,形成无缝"文字变形" |
typing | 打字光标 | "Loading" 后跟一个闪烁方块光标,模拟打字机 |
typing-indicator | 三点弹跳 | 聊天软件风格的圆角气泡 + 三颗依次跳动的小圆点 |
text-shimmer | 文字微光 | 用渐变遮罩让高亮色横向扫过文字,"思考中"的高级写法 |
text-shimmer-wave | 微光波浪 | 微光效果叠加波浪节奏,视觉更灵动 |
对应的组件源文件(shadcn 注册格式)例如 text-blink.json、text-morph.json、typing.json、typing-indicator.json、text-shimmer.json,打开即可看到每个动画不过几十行motion声明,非常适合学习实现思路。
弹性文字弹出:spring-text-pop
spring-text-pop.json 把 "Loading..." 按字符拆分,每个字符以 0.08s 间隔从底部依次"跳"一下,配合底部原点缩放(origin-bottom),像小弹簧一样活泼,适合轻量趣味界面。
文字揭示动画:加载完成的入场效果
除了等待态,Amicro 还收录了 4 个文字入场揭示组件,源码位于 registry/ui/text/ 目录:
- character-stagger(character-stagger.tsx):逐字错峰浮入,支持调整时长、间隔与位移
- word-reveal(word-reveal.tsx):逐词淡入 + 缩放,标题渐显利器
- text-reveal(text-reveal.tsx):整行文字依次滑出
- blur-text(blur-text.tsx):模糊 → 清晰的标题过渡,质感拉满
💡 搭配技巧:等待时用
text-shimmer,数据返回后接word-reveal展示标题,两个组件无缝衔接。
二、终端风格加载动画:给开发者看的等待界面
终端风加载动画自带"正在处理"的专业氛围,适合 CLI 风格网页、部署面板与后台系统。
| 组件名 | 视觉效果 | 效果说明 |
|---|---|---|
mac-terminal | Mac 提示符 | 显示~ %加闪烁方块光标,极简 macOS 终端质感 |
terminal-loader | 终端面板 | 黑底圆角小窗口,$ loading...与绿色>提示符交替闪烁,像真实命令行在跑任务 |
两个组件分别见 mac-terminal.json 与 terminal-loader.json。核心技巧是用font-mono等宽字体 + 1s 线性循环的透明度动画,代码量极小但氛围感很强。
三、Apple 风格加载动画:11 个精致拟物细节
Apple 风格加载动画的共同特点:小尺寸、克制配色、缓动柔和。这一类组件最容易被直接搬进产品。
明星组件:Dynamic Island 与 Face ID 扫描
Dynamic Island 灵动岛(dynamic-island.json) 模拟 iPhone 灵动岛:黑色胶囊整体宽度在 80↔110px 之间缓慢呼吸,内部左侧是一颗呼吸的翠绿色状态点,右侧三条短竖线以 0.15s 错位跳动,模拟语音波形。放在页面顶部或卡片里,瞬间有"原生 App"的味道。
Face ID 扫描(face-id-scan.json) 圆角方框内是 Face ID 图标,一道绿色渐变扫描线以匀速(2.5s 周期)上下扫过整个图标,精准复刻"正在识别面容"的交互。识别成功前、解锁等待中都能用。
更多 Apple 细节动效
| 组件名 | 视觉效果 |
|---|---|
apple-breathe | 6 片青蓝色扇区交替渐显,如呼吸般起伏 |
apple-equalizer | 4 根随机错落的均衡器竖条 |
apple-sound-wave | 5 根对称声波,中间高两边低 |
apple-pulse-dots | 3 颗圆点依次放大淡入,克制版的"三点" |
apple-scale-pulse | 同心圆环向外扩散消散 |
apple-icon-morph | 方块 ↔ 圆形 圆角变形 + 旋转 |
apple-text-reveal | "Loading" 文字上下滚动揭示 |
apple-unlock | "Slide to unlock" 上扫过一道渐变光带 |
siri-wave | Siri 经典的 5 根等高声浪柱 |
🍎 挑选建议:语音/语音助手场景选
siri-wave或dynamic-island;身份验证、解锁场景选face-id-scan;通用等待用apple-pulse-dots最百搭。
如何一键安装这些加载组件
Amicro 提供 CLI 与 shadcn/ui 两种安装方式,组件代码会直接复制进你的项目(copy-to-code,零运行时依赖)。
方式一:Amicro CLI
npx @subhanhq/amicro@latest add dynamic-island方式二:shadcn 命名空间(在components.json注册@amicro后)
npx shadcn add @amicro/face-id-scan安装后组件落到@components/amicro/下,按你的品牌色微调 Tailwind 类名即可。环境要求:Node ≥ 18、React 18/19、Tailwind 3/4、motion库。
相关文件速查
| 文件 / 目录 | 说明 |
|---|---|
| registry/registry.json | 全部 150+ 组件的注册总表(名称、描述、依赖) |
| registry/ui/ | 每个加载动画组件的 JSON 注册文件(含完整源码) |
| registry/ui/text/ | 4 个文字揭示动画的 TSX 源文件 |
| registry/hooks/ | 配套 hooks:use-reduced-motion、use-stagger等 |
| src/data/loaders.ts | 站内加载动画展示页的组件清单数据 |
| scripts/generate-loaders-code.js | 批量生成加载组件代码的脚本 |
写在最后:文字类加载动画适合"内容型"等待,终端类适合"工具型"界面,Apple 风格则是最容易出彩的拟物细节。建议先从text-shimmer、dynamic-island、face-id-scan三个明星组件入手,跑通后再按 registry.json 逐个替换成最适合自己产品的动效。
【免费下载链接】Amicro--Micro-transitions-项目地址: https://gitcode.com/gh_mirrors/am/Amicro--Micro-transitions-
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考