如何在 Flutter 的 GridView.count() 中向上移动可选项目的可滚动列表?

How to move up scrollable list of selectable items inside GridView.count() in the Flutter?

GridView.count() 排列的可选图标按钮列表太多。选择其中一个图标按钮时,我想更改滚动位置(向上移动)。我该怎么做?

Container(
  padding: const EdgeInsets.all(4),
  child: GridView.count(
    childAspectRatio: 0.95,
    padding: const EdgeInsets.symmetric(
        horizontal: 3, vertical: 0),
    crossAxisCount: 4,
    children: <Widget>[...iconButtonsList()],
  ),
)

这是我的代码的结果:

您可以创建一个 ScrollController 并将其传递给滚动小部件的控制器参数。然后你可以使用 animateTo 方法来动画到一个偏移量。

ScrollController controller = ScrollController();

//In build
SingleChildScrollView(
controller: controller,
child: ...,
)

//In each icon onPressed/onTap
controller.animateTo(offset);

或者你可以使用这个包 scroll_to_index: ^2.1.1

所有功劳归于此答案: