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

发布时间:2024年01月11日

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

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

在这里插入图片描述
最终的核心代码是

    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.

在这里插入图片描述
解决方法就是设置一下滑动组件的 primary 属性为 true

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

我要在一个页面循环渲染多个ListView、SingleChildScrollView 横向滚动组件,导致了滚动手势监听溢出冲突的问题
在这里插入图片描述
解决方法就是 设置一下 physics 属性值

physics: const BouncingScrollPhysics(),

比如我这里
在这里插入图片描述

文章来源:https://blog.csdn.net/zl18603543572/article/details/135533602
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。