Flutter控件:内置隐式自发动画控件TweenAnimationBuilder

TweenAnimationBuilder

目录

1. 概要

2.必传参数

2.1 duration

2.2 tween

2.3 builder

3.选传参数

3.1 key

3.2 curve

3.3 onEnd

3.4 child


1. 概要

TweenAnimationBuilder是内置隐式自发动画控件,主要用于自发执行的动画设计。

TweenAnimationBuilder控件参数如下:

{
	Key? key, 
	required Tween<double> tween,
  	required Duration duration, 
	Curve curve = Curves.linear, 
	required Widget Function(BuildContext, double, Widget?) builder, 
	void Function()? onEnd, 
	Widget? child
}

其中duration、tween和builder为必传参数,剩余为选传参数。

2.必传参数

2.1 duration

TweenAnimationBuilder<dynamic>{ 
    duration: Duration(second: nums) 
}

duration是动画时长参数,在Duration方法中设置动画时长,其时间单位如下:

Duration Duration({
    int days = 0, 
    int hours = 0, 
    int minutes = 0, 
    int seconds = 0, 
    int milliseconds = 0, 
    int microseconds = 0
})

2.2 tween

TweenAnimationBuilder<dynamic>{
    tween: Tween<dynamic>(begin:100, end: 200)
}

tween设置动画的值,即从[begin]变化到[end]。如上述代码所示,动画会从100的位置移动到200。其中,[end]非空,[begin]可空,且[begin]为空时,其值等于[end]。此外, [ColorTween] 可为控件设置颜色值。

2.3 builder

TweenAnimationBuilder<dynamic>{
    builder: (BuildContext context, dynamic value, Widget child){
        return [widget]    
    },
}

builder方法内含上下文context,动画值value和子组件child。动画值value每次改动的值和子控件child会一起传递到builder中,然后builder方法根据动画值value去优化子控件child(即builder方法根据传入得动画数据去使子控件具有动画效果)。

3.选传参数

3.1 key

动画控件的key值,可设置动画唯一标识。

3.2 curve

TweenAnimationBuilder<dynamic>{
    curve: Curves.easeOutBack,
}

curve是动画曲线参数,可设置动画效果,具体样式参考:https://blog.csdn.net/weixin_46181984/article/details/119946620

3.3 onEnd

TweenAnimationBuilder<dynamic>{
    onEnd:(){
        /// 具体执行代码    
    }
}

监听函数,动画完成后执行。

3.4 child

TweenAnimationBuilder<dynamic>{
    child:[widget],
}

与布局控件类似,具有子组件child,但与builder内的child参数不同。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Shaco、LYF

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值