[英]How to add scroll indicator in ListView
Is there any way to show the scroll indicator on the ListView
?有没有办法在
ListView
上显示滚动指示器?
Here is my basic code:这是我的基本代码:
ListView.builder(
itemCount: 50,
itemBuilder: (context, index) => ListTile(title: Text("Item= ${index + 1}"),),
)
You can wrap your ListView
in Scrollbar
您可以将
ListView
包装在Scrollbar
中
Scrollbar(
child: ListView.builder(
itemCount: 50,
itemBuilder: (context, index) => ListTile(title: Text("Item= ${index + 1}"),),),
)
I think better to use CupertinoScrollbar
instead of Scrollbar
.我认为最好使用
CupertinoScrollbar
而不是Scrollbar
。 CupertinoScrollbar
is can touch and scroll to the bottom.. CupertinoScrollbar
可以触摸并滚动到底部..
Ex:前任:
CupertinoScrollbar(
child: ListView.builder(...),
Or或者
Scrollbar(
child: ListView.builder(...),
You can implement this designer scrollbar library :您可以实现此设计器滚动条库:
OR或者
You can wrap ListView in Scrollbar
widget您可以将 ListView 包装在
Scrollbar
小部件中
Scrollbar(
child: ListView.builder(...),
)
In this code: An example of how to show in ListView
在此代码中:如何在
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);
}),
),
Create a ScrollController variable (ScrollController _scrollController);
创建一个 ScrollController 变量
(ScrollController _scrollController);
Instatiate _scrollController
inside initState()
or wherever you want, _scrollController = ScrollController();
在
_scrollController
initState()
或任何你想要的地方创建 _scrollController, _scrollController = ScrollController();
Add _scrollController
variable inside Scrollbar
and ListView
properties,在
Scrollbar
和ListView
属性中添加_scrollController
变量,
controller:_scrollController
Here's the code:这是代码:
ScrollController _scrollController;
@override
void initState() {
super.initState();
_scrollController = ScrollController();
}
Scrollbar(
isAlwaysShown: true,
controller: _scrollController,
child: ListView(
controller: _scrollController,
)
if you don't want it always shown set to false如果您不希望它始终显示为 false
isAlwaysShown: false,
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),
],
),
),
);
},
),
)
funcionou assim: "Lembrando que estou usando para linux e não testei para web, windows e mobile. funcionou assim:“Lembrando que estou usando para linux e não testei para web, windows e mobile。
final ScrollController _scroll = ScrollController();
@override
Widget build(BuildContext context) {
(...)
child: ListView.builder(
controller: _scroll,
If u need to style your scroll bar a bit wrap the ListView in RawScrollbar and use the same scroll controller instance for both widgets如果您需要设置滚动条的样式,请将ListView包装在RawScrollbar中,并对两个小部件使用相同的滚动控制器实例
final ScrollController _scrollController = ScrollController();
@override
Widget build(BuildContext context) {
(...)
child: RawScrollbar(
controller: _scrollController,
thumbColor: Colors.redAccent,
radius: const Radius.circular(8),
crossAxisMargin: 2,
child: ListView.builder(
controller: _scrollController,
itemCount: 50,
itemBuilder: (context, index) => ListTile(
title: Text("Item= ${index + 1}"),
),
),
),
}
Scrollbar( child:ListView.builder( itemCount:20, itemBuilder:(c,i) => MyItem(i), ), ), Scrollbar( child:ListView.builder( itemCount:20, itemBuilder:(c,i) => MyItem(i), ), ),
You have to give itemcount as how many list you have ----- Example: itemCount: items.length, -----你必须给 itemcount 作为你有多少列表-----例如:itemCount: items.length, -----
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.