如何指定CustomScrollView滚动到Flutter中的Sliver Widget?

时间:2019-07-11 06:43:46

标签: flutter flutter-sliver

首先,我有一个CustomScrollView,其中有几个SilverGrids作为子级。

CustomScrollView(
          controller: _scrollController,
          slivers: <Widget>[
            _grid1(),
            _grid2(),
            _grid3(),
          ],
        )

然后我有一个按钮,用于控制CustomScrollView滚动以在按下时仅显示Grid2

 RaisedButton(onPressed: () {
            _scrollController.animateTo( _getGrid2Offset(),
                duration: Duration(milliseconds: 200), curve: Curves.linear);
          },)

但是我不知道如何计算Grid2相对于CustomScrollView的位置

1 个答案:

答案 0 :(得分:0)

答案是你不能(现在)直接计算这个值。 您必须自己计算偏移量,这将涵盖大多数基本情况。如果你有一个高度相同的项目列表,那么你可以做一个简单的

PRE_UPDATE

并将此值提供给小部件。如果您的情况更复杂,那么您应该创建一个函数来根据大小、类型、边距、填充等所有因素进行计算。

相关问题