Flutter怎么使用AnimatedBuilder实现动效复用


这篇文章主要介绍“Flutter怎么使用AnimatedBuilder实现动效复用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Flutter怎么使用AnimatedBuilder实现动效复用”文章能帮助大家解决问题。我们之前讲述了动画构建的两种方式,AnimationAnimationWidget,这两种构建动画都是将组件和动画一起完成的。有些时候,我们只是想动效复用,而不关心组件构建,这个时候就可以使用AnimatedBuilder了。根据官方文档说明,AnimatedBuilder的使用要点如下:AnAnimatedBuilderunderstands how to render the transition. —— AnimatedBuilder 知道如何渲染转场动效。AnAnimatedBuilderdoesn’t know how to render the widget, nor does it manage theAnimationobject. ——AnimatedBuilder不知道(或者准确说不应)如何渲染组件,也不管理组件对象。UseAnimatedBuilderto describe an animation as part of a build method for another widget. If you simply want to define a widget with a reusable animation, use anAnimatedWidget. —— 使用AnimatedBuilder作为其他组件的动效描述。如果只是想复用一个带有动效的组件,那么应该使用AnimatedWidget。这个可以看我们之前关于 AnimatedWidget 的介绍:Flutter 入门与实战(九十四):让你的组件拥有三维动效Examples of AnimatedBuilders in the Flutter API:BottomSheet,ExpansionTile,PopupMenu,ProgressIndicator,RefreshIndicator,Scaffold,SnackBar,TabBar,TextField. —— 在 Flutter 中,有很多组件使用 AnimatedBuilder 构建动效。这段话的核心要点就是AnimatedBuilder应该只负责动画效果的管理,而不应该管理组件构建。如果混在一起使用,就失去设计者的初衷了。这就好比我们的状态管理和界面一样,一个负责业务逻辑,一个负责界面渲染,从而实现解耦和复用。这个AnimatedBuilder就是专门复制动效管理的,并且应当努力实现复用。AnimatedBuilder的定义如下:其中关键的参数是builderbuilder用于构建组件的转变动作,在builder里可以对要渲染的子组件进行转变操作,然后返回变换后的组件。builder的定义如下,其中child实际就是AnimatedBuilderchild参数,可以根据需要是否使用。在 Flutter 中,提供了一个专门用于对子组件进行转换操作的,定义如下:这里的参数说明如下:transform是一个Matrix4对象,用于定义三维空间的变换操作。origin是一个坐标偏移量,实际会加入到Matrix4translation(平移)免费云主机域名中。alignment:即转变进行的参考方位。child:被转换的子组件。我们可以通过Transform,实现AnimatedBuilder的动效管理,也就是在AnimatedBuilder中,通过构建Transform对象实现动效。基本概念讲清楚了(敲黑板:很多时候大家都是直接简单看一下文档就开始用,甚至干脆复制示例代码就上,结果很可能会用得不对),可以开始撸代码了。我们来实现下面的动效。这里其实是两个组件,通过AnimatedBuilder做了动效转换。在动效的一半时间是文字“点击按钮变出小姐姐”,之后的一半将组件更换为了小姐姐的图片了。使用AnimatedBuilder的实现代码如下:注意第2个组件多转了180度,是未来保证停止后正好旋转360度,以免图片倒过来。另外就是这里的child1child2也可以修改为使用WidgetBuilder函数来在需要的时候再构建组件。使用这个RotationSwitchAnimatedBuilder的组件就十分简单了,将需要操作的两个组件作为参数传过来,然后控制Animation对象来刷新界面就好了,对应的代码如下:复用的话也很容易了,比如我们将一个圆形和一个矩形组件传过去,一样可以复用这个动画效果。关于“Flutter怎么使用AnimatedBuilder实现动效复用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注百云主机行业资讯频道,小编每天都会为大家更新不同的知识点。

相关推荐: pytorch模型怎么转onnx模型

这篇文章主要介绍“pytorch模型怎么转onnx模型”,在日常操作中,相信很多人在pytorch模型怎么转onnx模型问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”pytorch模型怎么转onnx模型”的疑惑有所帮助!接下来,…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 04/07 16:24
下一篇 04/07 16:24

相关推荐