【问题标题】:Flutter how to hide a scrollbar(thumb) in scrollable widgets like Listview.builder, SingleChildScrollView, etcFlutter 如何在 Listview.builder、SingleChildScrollView 等可滚动小部件中隐藏滚动条(拇指)
【发布时间】:2021-08-12 04:08:47
【问题描述】:

有没有办法从SingleChildScrollViewListview.builder 中删除滚动条?最新更新后,它在滚动时自动显示(平台 Windows)。

我试过这个解决方案:

 NotificationListener<ScrollNotification>(
     onNotification: (_) => true,
     child: ...,
    );

还尝试使用 isAlwaysShown 和控制器将我的小部件树包装在滚动条小部件中,但两种变体均无效。

【问题讨论】:

    标签: flutter flutter-layout scrollbar


    【解决方案1】:

    要在桌面/网络上隐藏滚动条,请将您的小部件树包装在具有 ScrollConfiguration.of(context).copyWith(scrollbars: false) 行为的 ScrollConfiguration 小部件中,

     ScrollConfiguration(
          behavior: ScrollConfiguration.of(context).copyWith(scrollbars: false),
          child: ...,),
    
    

    或者您可以将滚动行为添加到 MaterialApp 小部件

    class NoThumbScrollBehavior extends ScrollBehavior {
      @override
      Set<PointerDeviceKind> get dragDevices => {
            PointerDeviceKind.touch,
            PointerDeviceKind.mouse,
            PointerDeviceKind.stylus,
          };
    }
    
    return MaterialApp(
          debugShowCheckedModeBanner: false,
          scrollBehavior: NoThumbScrollBehavior().copyWith(scrollbars: false),
          home: MainWindow(),
        );
    

    【讨论】:

      【解决方案2】:

      将您的可滚动小部件包裹在 ScrollConfiguration

      ScrollConfiguration(
       behavior: ScrollConfiguration.of(context).copyWith(scrollbars: false),
       child: ListView(...)
      )
      

      【讨论】:

        猜你喜欢
        • 2020-11-05
        • 1970-01-01
        • 1970-01-01
        • 2018-11-20
        • 2019-12-05
        • 2019-01-31
        • 1970-01-01
        • 1970-01-01
        • 2019-11-30
        相关资源
        最近更新 更多