用途:面向 .NET MAUI 的视图动画实现,包括内置动画(FadeTo、ScaleTo、RotateTo、TranslateTo)、自定义 Animation、缓动函数(Easing)以及无障碍与性能方面的实践。
主要能力与要点:
- 内置动画:通过 FadeTo/ScaleTo/RotateTo 等方法对视图做淡入淡出、缩放、旋转与平移。
- 自定义动画:用 Animation 组合子动画,再通过 Commit 提交到视图,可指定名称、时长与 repeat。
- 取消与命名:重复触发同一属性动画前应先调用 CancelAnimations,避免叠加产生视觉故障;AbortAnimation 的名称必须与 Commit 传入的名称完全一致(含大小写),否则静默失败,建议用常量存储名称。
- Repeat 语义:子动画的 repeat 回调返回 true 不会让父动画循环,只有传给父级 Commit 的 repeat 返回 true 才循环整个动画。
- 无障碍:执行动画前检查 view.IsAnimationEnabled(系统省电/减弱动效开启时为 false);若为 false,直接把视图设置到最终状态,例如设置 Opacity = 1。
- 性能:动画回调应控制在 16ms 内(Commit 默认 rate:16 对应 60fps 一帧);避免动画化会触发布局的属性(如 WidthRequest、HeightRequest),改用 TranslationX/Y 与 Scale;并行动画用 Task.WhenAll,顺序 await 会累加耗时。
- 缓动选择:按钮反馈用 CubicOut,页面转场用 CubicInOut,弹跳用 BounceOut,弹簧效果用 SpringOut,加载指示用 Linear,进出场用 SinIn/SinOut。
用法与限制:资料未提供安装命令、NuGet 包名或平台版本要求,暂未提供;示例为 C# 代码片段的用法演示,具体 API 签名与完整参数请以官方文档为准。