AnimatedAlign

AnimatedAlign

AnimatedAlign组件方便我们构建位置动画,基本用法如下:

  1. 指定初始位置即alignment属性
  2. 指定动画持续时间即duration属性
  3. 动画产生的条件alignment属性的只产生变化
  4. curve可设置AnimatedAlign的子控件的运行轨迹
var _alignment = Alignment.topLeft;

@override
  Widget build(BuildContext context) {
    return Container(
      width: 200,
      height: 200,
      color: Colors.lightBlue,
      child: AnimatedAlign(
        alignment: _alignment,
        duration: Duration(seconds: 2),
        child: IconButton(
          icon: Icon(Icons.print,color:Colors.red,size: 30,),
          onPressed: (){
            setState(() {
              _alignment = Alignment.bottomRight;
            });
          },
        ),
      ),
    );
  }

效果如下:

我们还可以通过curve设置动画曲线,用法如下:

AnimatedAlign(
  curve: Curves.bounceInOut,
  ...
)

onEnd是动画执行结束回调,用法如下:

AnimatedAlign(
  onEnd: (){
    print('onEnd');
  },
  ...
)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值