有什么方法可以在ListView
上显示滚动指示器?
这是我正在使用的基本代码
ListView.builder(
itemCount: 50,
itemBuilder: (context, index) => ListTile(title: Text("Item= ${index + 1}"),),
)
答案 0 :(得分:21)
您可以将ListView
包裹在Scrollbar
Scrollbar(
child: ListView.builder(
itemCount: 50,
itemBuilder: (context, index) => ListTile(title: Text("Item= ${index + 1}"),),),
)
答案 1 :(得分:6)
您可以实现此 designer 滚动条库:
OR
您可以将ListView包装在Scrollbar
小部件中
Scrollbar(
child: ListView.builder(...),
)
答案 2 :(得分:5)
我认为最好使用CupertinoScrollbar
而不是Scrollbar
。 CupertinoScrollbar
可以触摸并滚动到底部。
例如:
CupertinoScrollbar(
child: ListView.builder(...),
或
Scrollbar(
child: ListView.builder(...),
答案 3 :(得分:4)
在此代码中:如何在ListView
中显示
child: Scrollbar(
child: ListView.builder(
padding: EdgeInsets.all(5),
itemCount: snapshot.data.length,
physics: BouncingScrollPhysics(),
itemBuilder: (context, index) {
return generateColum(snapshot.data[index], index);
}),
),
答案 4 :(得分:1)
创建一个 ScrollController 变量 (ScrollController _scrollController);
在 _scrollController
内或任何您想要的地方实例化 initState()
,_scrollController = ScrollController();
在 _scrollController
和 Scrollbar
属性中添加 ListView
变量,
controller:_scrollController
代码如下:
ScrollController _scrollController;
@override
void initState() {
super.initState();
_scrollController = ScrollController();
}
Scrollbar(
isAlwaysShown: true,
controller: _scrollController,
child: ListView(
controller: _scrollController,
)
如果您不希望它始终显示设置为 false
isAlwaysShown: false,
答案 5 :(得分:1)
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),
],
),
),
);
},
),
)