AnimatedSize
AnimatedSize可以不需要传高度就有有动画,Offstage控制显隐,不会销毁组件
AnimatedSize(
// reverseDuration: Duration(milliseconds: 200),
duration: Duration(milliseconds: 200),
child: Offstage(
child: InheritedProvider(
data: item.isExpand == true,
child: GetSeriverCardList(item, item.isExpand == true),
),
offstage: !(item.isExpand == true), // 是要偏移
),
)
AnimatedContainer
AnimatedContainer需要知道高度才会有有动画,Visibility控制显隐,但会销毁组件
// AnimatedContainer(
// // height: item.isExpand == true ? 100 : 0,
// duration: Duration(milliseconds: 300),
//
// child: Offstage(
// child: InheritedProvider(
// data: item.isExpand == true,
// child: GetSeriverCardList(item, item.isExpand == true),
// ),
// offstage: item.isExpand == true,
// ),
// child: Visibility(
// child: GetSeriverCardList(item, item.isExpand == true),
// visible: item.isExpand == true,
// replacement: Container(),
// ),
// child: item.isExpand == true ? GetSeriverCardList(item) : SizedBox(),
// child: Opacity(
// opacity: item.isExpand == true ? 1 : 0,
// child: GetSeriverCardList(item),
// ),
// ),