我遇到了同样的问题,我用 Stack 来解决它,看看
例子:
Stack(
children: <Widget>[
buildPartnerList(context),
FilterDrawer(),
],
),
在FilterDrawer中我返回了一个animationBuilder
Widget build(BuildContext context) {
return AnimatedBuilder(
animation: _animationController,
builder: (context, widget) => buildFilterDrawer(context, widget),
);
}
buildFilterDrawer 是这样的
Container(
color: Theme.of(context).accentColor,
width: widthAnimation.value,
child: Stack(
children: <Widget>[
...
为了制作动画,我有一个 GestureDetector,点击时会为我的侧边栏设置动画
_moveFliterDrawerAnimation() {
setState(() {
_isExpanded
? _animationController.reverse()
: _animationController.forward();
_isExpanded = !_isExpanded;
});
}