【问题标题】:SlideTransition in flutter takes space before it slides in颤动中的 SlideTransition 在滑入之前占用空间
【发布时间】:2018-09-17 13:24:00
【问题描述】:

我在 Flutter 中为一个小部件实现了 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);

【问题讨论】:

    标签: flutter flutter-animation


    【解决方案1】:

    在垂直滑动过程中SlideTransition 占据了整个高度时遇到了同样的问题。最后,我通过使用SizeTransition 来实现幻灯片效果,并相应地设置其axisAlignment 属性(在我的例子中,顶部/中心/底部为-1、0、1)。

    【讨论】:

      【解决方案2】:

      我通过将_slider 替换为_buildSlider() 解决了这个问题,_buildSlider() 返回null,直到需要滑块。

      这对性能也有好处,因为如果滑块隐藏了,就不需要渲染它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-04-22
        • 1970-01-01
        • 1970-01-01
        • 2019-12-29
        • 2016-03-13
        • 2020-12-05
        • 1970-01-01
        • 2022-01-01
        相关资源
        最近更新 更多