如何在 Flutter 中用 Scrollbar 限制 GridView 的宽度?

How to constrain the width of GridView with a Scrollbar in Flutter?

我试图在 ScrollView(在本例中为 GridView)的右侧显示滚动条,但限制了可滚动区域的宽度,同时仍在右侧显示滚动条。我看不到如何自定义滚动条相对于 Scrollable

的位置

参见this DartPad for an example

在上面的示例中,ScrollBar 直接显示在 GridView 子项的右侧,但我更希望它一直显示在右侧。我在 GridView 构造函数中找不到任何提示来帮助我解决这个问题。这需要 CustomScrollView 还是可以通过普通的 GridView 实现?

这个 GridView 必须正好有 400px 的宽度吗?如果这不是必需的,您可以像这样设置 ConstrainedBox 的宽度:

width: MediaQuery.of(context).size.width,

然后 GridView 将具有与您的屏幕完全相同的大小,因此滚动条将位于您想要的位置。

解决方法是交换中心和滚动条小部件。

之前:

Center
  Scrollbar
    ConstrainedBox

之后:

Scrollbar
  Center
    ConstrainedBox

https://dartpad.dev/09ddf64d254b0c331920cf970acc4447