在 Flutter 中,如何跨 Widget 去控制滚动?

4 min read

在 Flutter 中,可以使用 ScrollController 控制 Widget 的滚动。

首先,创建 ScrollController 对象,然后将其传递给需要控制滚动的 ScrollView 类型的 Widget,例如 ListViewGridViewSingleChildScrollView 等。然后就可以使用 ScrollController 的方法来控制滚动,例如 animateTojumpTo

下面是一个示例代码:

ScrollController _scrollController = ScrollController();

ListView(
  controller: _scrollController,
  children: [
    // 构建子 Widget
  ],
);

// 控制滚动
_scrollController.animateTo(
  200, // 滚动到距离顶部 200 像素的位置
  duration: Duration(milliseconds: 500), // 滚动 500 毫秒
  curve: Curves.fastOutSlowIn, // 使用加速减速曲线
);