Flutter Scrollbar滑动条与SingleChildScrollView的结合使用的小细节

我在业务开发中,ListView是竖向滑动的,然后 ListView中的每一个小条目比较长,我需要横向滑动,所以 就有了 ListView中多个SingleChildScrollView(横向滑动),但是在视觉上,我期望告知用户可以横向滑动,所以有了 Scrollbar 结合 SingleChildScrollView 来使用。

但是两者来使用,多多少少会有点问题,本文章记录小问题。
先来看下我的效果

Flutter Scrollbar滑动条与SingleChildScrollView的结合使用的小细节_第1张图片
最终的核心代码是

    Scrollbar(
      thickness: 2.0,//滑动条的高度
      interactive: true,//滑动条为true 可拖动
      isAlwaysShown: true,//一直显示滑动条
      controller: ScrollController(),//滑动条使用的控制器
      child: SingleChildScrollView(
        scrollDirection : Axis.horizontal,
        primary: true,
        physics: const BouncingScrollPhysics(),
        child: Row(
          children: [...此处省略],
        ),
      ),
    ),
1 错误一 The Scrollbar’s ScrollController has no ScrollPosition attached.

Flutter Scrollbar滑动条与SingleChildScrollView的结合使用的小细节_第2张图片
解决方法就是设置一下滑动组件的 primary 属性为 true

2 错误二 Failed assertion: line 243 pos 14: ‘notification.metrics.axis == widget.axis’: is not true.

我要在一个页面循环渲染多个ListView、SingleChildScrollView 横向滚动组件,导致了滚动手势监听溢出冲突的问题
Flutter Scrollbar滑动条与SingleChildScrollView的结合使用的小细节_第3张图片
解决方法就是 设置一下 physics 属性值

physics: const BouncingScrollPhysics(),

比如我这里
Flutter Scrollbar滑动条与SingleChildScrollView的结合使用的小细节_第4张图片

你可能感兴趣的:(Flutter项目开发全套教程,flutter,android)