Flutter 颤振:如何在ListView中添加滚动指示器

Flutter 颤振:如何在ListView中添加滚动指示器,flutter,listview,dart,scrollview,flutter-widget,Flutter,Listview,Dart,Scrollview,Flutter Widget,有没有办法在列表视图上显示滚动指示器 这是我的基本代码: ListView.builder( itemCount: 50, itemBuilder: (context, index) => ListTile(title: Text("Item= ${index + 1}"),), ) 幸亏 您可以将列表视图包装在滚动条 Scrollbar( child: ListView.builder( itemCount: 50, item

有没有办法在
列表视图上显示滚动指示器

这是我的基本代码:

ListView.builder(
  itemCount: 50,
  itemBuilder: (context, index) => ListTile(title: Text("Item= ${index + 1}"),),
)
幸亏 您可以将
列表视图
包装在
滚动条

Scrollbar(
    child: ListView.builder(
      itemCount: 50,
      itemBuilder: (context, index) => ListTile(title: Text("Item= ${index + 1}"),),),
)

您可以实现此设计器滚动条库:

  • 您可以在
    滚动条
    小部件中包装ListView

    Scrollbar(
        child: ListView.builder(...),
    )
    

    我认为最好使用
    CupertinoScrollbar
    而不是
    Scrollbar
    CupertinoScrollbar
    is可以触摸并滚动到底部

    Ex:

     CupertinoScrollbar(
                child: ListView.builder(...),
    

    Scrollbar(
        child: ListView.builder(...),
    

    在此代码中:如何在
    列表视图中显示的示例

    child: Scrollbar( 
       child: ListView.builder(
       padding: EdgeInsets.all(5),
       itemCount: snapshot.data.length,
        physics: BouncingScrollPhysics(),
        itemBuilder: (context, index) {
          return generateColum(snapshot.data[index], index);
        }),
     ),
    

    创建一个ScrollController变量
    (ScrollController\u ScrollController)
    initState()
    内部安装
    \u scrollController
    ,或者在任何需要的地方安装,
    \u scrollController=scrollController()
    滚动条
    列表视图
    属性中添加
    滚动控制器
    变量

    controller:_scrollController
    
    代码如下:

    ScrollController _scrollController;
      @override
      void initState() {
        super.initState();
        _scrollController = ScrollController();
      }
    Scrollbar(
            isAlwaysShown: true,
             controller: _scrollController,
             child: ListView(
             controller: _scrollController,
       )
    
    如果您不希望它总是显示为false

    isAlwaysShown: false,
    

    可能对您有帮助:您需要确保ListView实际上比它的内容小,否则它不会显示滚动条。如果你把ListView放在一个可滚动列表中,就不会有滚动条,因为它的大小是无限的。@GünterZöchbauer我使用了50个元素,而在屏幕上同时只有10个元素可见,因此
    ListView
    比它的内容小,这就是它滚动的原因,我原以为ListView会附带一些内置的指示器,但事实并非如此。我也希望如此。如果不只是用滚动条@GünterZöchbauer来包装它,它就起作用了。我回答了我自己的问题,如果你想,我可以删除它,你可以写它,我会接受并投票。基于我的Android知识,我想知道你现在是否没有呈现所有元素并将所有内容都放在滚动条中如果你删除itemCount:50,列表将是无限的,默认情况下,这里的滚动条不应该是500个项目的列表,其中37个项目是可见的,它只呈现50个项目(这很好)。如果您需要滚动条从一开始就可见,这会更好,这就是我在本例中所寻找的。谢谢你的回答!
    Scrollbar(
            thickness: 10,
            isAlwaysShown: true,
            child: ListView.builder(
              itemCount: _controller().transactonsList.length,
              itemBuilder: (context, index) {
                return Card(
                  elevation: 5,
                  child: Container(
                    padding: const EdgeInsets.only(bottom: 16),
                    height: 80,
                    child: Row(
                      children: [
                        SizedBox(width: 10),
                        amountOfTransaction(index),
                        SizedBox(width: 16),
                        dateAndTitleOfTransaction(index),
                      ],
                    ),
                  ),
                );
              },
            ),
          )