我想在 AnimatedPositioned 的 child 中使用 AnimatedSize,但我得到了异常(exception)。
这是我的代码:
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)状态
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),
),
),
),
),
......................
}
关于flutter - 如何在 flutter 中使用 AnimatedPositioned 的 AnimatedSize 子项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64956610/