我在 flutter 中为一个小部件实现了 SlideTransition,它按预期滑入。问题是在调用动画之前,稍后要显示 slider 的空间是空的。
在 slider 进入 View 之前,如何让父级将此空间分配给布局中的其他小部件?
我正在考虑将 slider 的初始高度设置为零,但是当高度与滑动同步变化时, slider 内的小部件会表现得很有趣。不知道有没有更简单的方法。
父级是:
new Scaffold(
appBar: _appBar,
body: new Column(
children: <Widget>[
new Expanded(
child: _body;
}),
),
new SlideTransition(
position: _sliderPosition, //
child: _slider,
),
],
);
位置定义为:
_sliderPosition = new MaterialPointArcTween(
begin: const Offset(0.0, 1.0),
end: Offset.zero,
).animate(_animationController);
最佳答案
我通过将 _slider
替换为 _buildSlider()
解决了这个问题,它在需要 slider 之前返回 null
。
这也有利于提高性能,因为如果 slider 处于隐藏状态,则无需渲染它。
关于flutter - flutter 中的 SlideTransition 在滑入之前占用空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49711026/