我为颤动的小部件实现了SlideTransition,它按预期滑入。问题是在调用动画之前,稍后将显示滑块的空格是空的。
如何让父级将此空间提供给布局中的其他小部件,直到滑块进入视图的那一刻?
我正在考虑给滑块初始高度为零,但随着高度与滑动同步变化,滑块内的小部件会很有趣。我想知道是否有更简单的方法。
父母是:
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);
答案 0 :(得分:2)
我解决了这个问题,将_slider
替换为_buildSlider()
,返回null
,直到需要滑块。
这对于性能也更好,因为如果它被隐藏,则无需渲染滑块。
答案 1 :(得分:1)
在SlideTransition
垂直滑行期间占据整个高度的情况下,也遇到了同样的问题。最后,我通过使用SizeTransition
并相应地设置其axisAlignment
属性(在我的情况下,上/中/下为-1、0、1)实现了滑动效果。