Skip to content
阅读进度

如何实现一个复杂的路径动画(如沿贝塞尔曲线移动)? ​

返回 View 与显示链路 目录

标准回答 ​

先用 Path 定义贝塞尔曲线,再让动画按进度取得路径上的位置并更新目标坐标。可用 ObjectAnimator 的路径属性动画,或用 ValueAnimator 配合 PathMeasure.getPosTan;后者通过 length × fraction 得到沿路径的距离。

通俗例子 ​

图标飞入购物车时,用贝塞尔曲线描述起点、终点和弯曲方向;随着进度变化取出 x、y,再更新图标位置。

内容来源 ​

用完整回答理解机制,用真实证据解释项目。