如何在 flutter web 上启用水平滚动?

Cel*_*el 1 scroll flutter flutter-web

我讨厌发布以前提出的问题,但我认为以前针对此问题的解决方案不再受支持。我使用下面的结构来启用滚动。垂直滚动在网络和移动设备上很好,但水平滚动在网络上不活跃。我搜索了这个问题,发现新版本的flutter不支持网页上的水平滚动。即使在一些Google产品(例如Gmail)中,该功能也无法使用。

Scrollbar(
                thumbVisibility: true,
                trackVisibility: true,
                child: SingleChildScrollView(
                    scrollDirection: Axis.vertical,
                    child: SingleChildScrollView(
                        scrollDirection: Axis.horizontal,
                        child: Column(children: [scrollWiew()]))))
Run Code Online (Sandbox Code Playgroud)

有没有一种新的方法来激活网络上的水平滚动?也许使用浏览器的默认滚动条可能适合我的项目,但我不知道它是否可行。

谢谢。

Xol*_*awn 6

您应该添加自定义滚动行为,并且水平滚动将起作用。

class CustomScrollBehavior extends MaterialScrollBehavior {
  @override
  Set<PointerDeviceKind> get dragDevices => {
        PointerDeviceKind.touch,
        PointerDeviceKind.mouse,
      };
}
Run Code Online (Sandbox Code Playgroud)

然后在MaterialApp小部件内:

scrollBehavior: CustomScrollBehavior(),
Run Code Online (Sandbox Code Playgroud)