《Flutter 动画系列二》Google工程师带你选择Flutter动画控件

移动开发 作者: 2024-08-24 23:35:01
对初学者来说,看完这篇文章,我想你脑瓜子一定是嗡嗡的,这都说的是什么啊。 不要急躁,开始的我和你是一样的,第一遍看完,完全不知道在说什么,不明白不要紧,请先收藏此文章,然后先去学习下Flutter内置
  • Drawing-based animations:基于绘制的动画,就像是画画一样,通常都是独立的控件,例如游戏角色或者很难用纯碎的代码来完成的效果。
  • Core-based animations:基于核心的动画,它面向组件,基于标准的布局和样式,从本质上说,倾向于增强控件的外观和过渡效果,而不是自己充当独立的控件。
  • 如果是基于绘制的,而且你的团队中有专门的设计人员提供素材,建议你使用第三方工具,比如Rive和Lottie,这些库可以方便的导入资源来构建动画。
  • 如果是基于核心(组件)的,涉及组件的变化,比如颜色、形状、位置的变化等。
  • 隐式动画控件:只需提供给组件开始、结束值,系统执行动画,比如AnimatedAlign等组件。
  • 显式动画控件:需要设置AnimationController,控制动画的执行,使用显式动画可以完成任何隐式动画的效果,甚至功能更丰富一些,不过你需要管理该动画的AnimationController生命周期,AnimationController并不是一个控件,所以需要将其放在stateful 控件中。
  • 动画是否一直重复,比如音乐播放。
  • 动画值是否不连续,比如一个圆圈,不连续的尺寸变化:小->大,小->大,小->大。连续的尺寸变化:小->大->小->大。
  • 是否有多个组件一起动画。
  • 已经内置:直接使用,当然也可以看下AnimatedContainer组件,AnimatedContainer是非常强大且用途广泛的动画组件。
  • 未内置:可以使用TweenAnimationBuilder创建一个自定义的动画控件。
  • 内置:直接使用相关组件,比如xxxTransition组件。
  • 未内置:自定义一个动画控件。
  • 单独一个显示组件:你应该继承 AnimatedWidget来实现。
  • 组件的一部分:使用AnimatedBuilder来实现。
原创声明
本站部分文章基于互联网的整理,我们会把真正“有用/优质”的文章整理提供给各位开发者。本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
本文链接:http://www.jiecseo.com/news/show_68083.html