选择动画 API

下面的图表可以帮助您确定要使用哪种 API 来实现您的动画效果。

描述决策树的流程图,用于选择适当的动画 API
图 1. 描述如何选择适当 Animation API 的决策树。

描述决策树的流程图,用于选择适当的动画 API

请使用以下决策树,为您的应用场景选择最合适的 Animation API:

  • 您的动画是否基于艺术作品(即 SVG 或图片)?
    • 是:它是否使用简单的 SVG(即带有微动画的图标)?
    • 否:动画是否需要无限重复?
      • 是:rememberInfiniteTransition。
      • 否:您是否要为布局添加动画效果?
        • 是:您是否在具有不同内容的可组合项之间切换?
          • 是:您是否在使用 Navigation-Compose?
          • 否:您是否要为内容的出现或消失添加动画效果?
            • 是:AnimatedVisibility 或 animateFloatAsState,搭配 Modifier.alpha()。
            • 否:您是否要为大小变化添加动画效果?
              • 是:Modifier.animateContentSize。
              • 否:您是否在为其他布局属性(例如偏移量或内边距)添加动画效果?
                • 是:请参阅“这些房源是否完全相互独立?”。
                • 否:您是否要为列表项添加动画效果?
        • 否:您是否要为多个属性添加动画效果?
          • 是:这些媒体资源是否完全相互独立?
          • 否:动画是否具有预定义的目标值?
            • 是:animate*AsState。对于文本,请使用 TextMotion.Animated。
            • 否:动画是否由手势驱动,并且是单一事实来源?

下载图表的 PDF 版本。