繁体   English   中英

如何指定 CustomScrollView 滚动到 Flutter 中的 Sliver 小部件?

[英]How to specify CustomScrollView to scroll to a Sliver Widget in Flutter?

首先,我有一个 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 的位置

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

var offset = index * height + somethingElse

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM