flutter组件之AnimatedContainer

flutter组件之AnimatedContainer

自我理解:

体验了一下 就是一个带动画的容器,这个容器的很多属性 例如width、height、color等等都是支持动态变化的,并且变化的过程和效果可以通过duration,curve等属性来设置
[官网api地址]https://api.flutter.dev/flutter/widgets/AnimatedContainer-class.html
api里例子和视频生动形象,需要梯子

上代码:

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

class AnimatedContainerDemo extends StatefulWidget{
  @override
  State<StatefulWidget> createState() {
    return _AnimatedContainerDemoState();
  }

}
class _AnimatedContainerDemoState extends State<AnimatedContainerDemo>{
  bool selected = false;
  @override
  Widget build(BuildContext context) {
    return GestureDetector(
      onTap: (){
        setState(() {
          selected  = !selected;
        });
      },
      child: Center(
          child: AnimatedContainer(
            width: selected ? 200.0 : 100.0,//宽度
            height: selected ? 100.0 : 200.0,//高度
            color: selected ? Colors.red : Colors.blue,//背景色
            alignment:
            selected ? Alignment.center : AlignmentDirectional.topCenter,//子元素对齐方式
            duration: Duration(seconds: 2),//动画持续时间
            curve: Curves.fastOutSlowIn,//差值器(动画效果)
            child: Container(//子元素
              height: 50,
              width: 50,
              color: Colors.yellow,
            ),
          ),
      ),
    );
  }

}

效果

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值