繁体   English   中英

如何在颤动中使用 AnimatedPositioned 的 AnimatedSize 子项?

[英]How can use AnimatedSize child of AnimatedPositioned in flutter?

我想在 AnimatedPositioned 的孩子中使用 AnimatedSize,但我得到了例外。

这是我的代码:

AnimatedPositioned(
  duration: Duration(seconds: 2),
  curve: Curves.fastLinearToSlowEaseIn,
  top: isProfileSelected ? 100 : 0,
  child: Transform.translate(
    offset:
     Offset(isProfileSelected ? MediaQuery.of(context).size.width / 2 - 53 :MediaQuery.of(context).size.width / 2 - 38, 90 / 2),
    child: AnimatedSize(
      curve: Curves.fastOutSlowIn,
      child: isProfileSelected ? SizedBox(
        width: 106.0,
        child: circleAvatar(106, 106),
      ) : SizedBox(
        width: 76.0,
        child: circleAvatar(76, 76),
      ),
    ),
  ),
),

将此添加到您的班级状态

class _MyWidgetState extends State<_MyWidget> with SingleTickerProviderStateMixin {
    .............
  AnimatedPositioned(
    duration: Duration(seconds: 2),
    curve: Curves.fastLinearToSlowEaseIn,
    top: isProfileSelected ? 100 : 0,
    child: Transform.translate(
    offset:
     Offset(isProfileSelected ? MediaQuery.of(context).size.width / 2 - 53 :MediaQuery.of(context).size.width / 2 - 38, 90 / 2),
    child: AnimatedSize(
      vsync: this, //This must be required
      duration: Duration(milliseconds: 200), //Duration is also required
      curve: Curves.fastOutSlowIn,
      child: isProfileSelected ? SizedBox(
        width: 106.0,
        child: circleAvatar(106, 106),
      ) : SizedBox(
        width: 76.0,
        child: circleAvatar(76, 76),
      ),
    ),
  ),
),
......................

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM