flutter在windows系统上实现左右水平滑动问题

时间:2024-01-21 07:34:28

在个问题在github也有记录:https://github.com/flutter/flutter/issues/105095

就是flutter使用listview等可以滑动的组件来左右滚动的时候,不能正常工作,也就是无效,所以下面大家开始讨论这个问题。

翻阅大家讨论的内容,发现有的windows11是可以正常工作的,但是需要加上一个滚动条和SingleChildScrollView:

final innerController = ScrollController();

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("产品列表"),
      ),
      body: Scrollbar(
          controller: innerController,
          child: SingleChildScrollView(
            controller: innerController,
            scrollDirection: Axis.horizontal,
            child: Container(
              width: 1920,
              height: 100,
              color: Colors.red,
              child: Text(
                  "11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"),
            ),
          )),
    );
  }

这样实现的结果是: 有一个滚动条,就可以拖动滚动条来实现滚动

还有一种方式就是按住shift,然后滑动鼠标滚轮: 也可以控制滚动

flutter的贡献者也发现了这个问题,下个版本也许就会解决这个问题:https://github.com/reqable/reqable-app/issues/371 

这个说的已解决是2024年1月12号,所以静等这个版本发出来再试吧...........