如何在Flutter中将溢出添加到列表中?
我想在列表的末尾和顶部添加一个overscrolls,只有当有人overscrolls时 所以。。。我有一些想法,我尝试从使用手势检测器开始,如果列表大于屏幕,它似乎不起作用,然后我添加了一个ListView滚动控制器,但它只在列表大于屏幕时起作用 我继续尝试通过通知添加它,但它似乎太慢了 有什么想法吗如何在Flutter中将溢出添加到列表中?,flutter,Flutter,我想在列表的末尾和顶部添加一个overscrolls,只有当有人overscrolls时 所以。。。我有一些想法,我尝试从使用手势检测器开始,如果列表大于屏幕,它似乎不起作用,然后我添加了一个ListView滚动控制器,但它只在列表大于屏幕时起作用 我继续尝试通过通知添加它,但它似乎太慢了 有什么想法吗 class _PullableListState extends State<PullableList> { double overScrollOnEnd = 0; @ov
class _PullableListState extends State<PullableList> {
double overScrollOnEnd = 0;
@override
Widget build(BuildContext context) {
return NotificationListener<ScrollNotification>(
onNotification: (notification) {
// print(notification.metrics.pixels);
if (notification is OverscrollNotification) {
setState(() {
overScrollOnEnd += notification.dragDetails.delta.dy;
});
print(overScrollOnEnd);
}
if (notification is ScrollUpdateNotification) {
setState(() {
overScrollOnEnd = 0;
});
}
return true;
},
child: Container(
margin: EdgeInsets.only(top: max(overScrollOnEnd, 0)),
child: ListView.builder(
itemBuilder: widget.itemBuilder,
itemCount: widget.itemCount,
),
),
);
}
}
class\u PullableListState扩展状态{
双过克隆数=0;
@凌驾
小部件构建(构建上下文){
返回通知侦听器(
通知:(通知){
//打印(通知、度量、像素);
如果(通知为超限通知){
设置状态(){
overscrolloned+=notification.dragDetails.delta.dy;
});
印刷品(超卷);
}
如果(通知为ScrollUpdateNotification){
设置状态(){
Overscrolloned=0;
});
}
返回true;
},
子:容器(
页边距:仅限边集(顶部:最大值(超卷边,0)),
子项:ListView.builder(
itemBuilder:widget.itemBuilder,
itemCount:widget.itemCount,
),
),
);
}
}
您想与之结合
class\u PullableListState扩展状态{
双过克隆数=0;
@凌驾
小部件构建(构建上下文){
返回容器(
页边距:仅限边集(顶部:最大值(超卷边,0)),
子项:ListView.builder(
物理:BouncingScrollPhysics(父项:AlwaysScrollableScrollPhysics()),
itemBuilder:widget.itemBuilder,
itemCount:widget.itemCount,
),
);
}
}
您想与之结合
class\u PullableListState扩展状态{
双过克隆数=0;
@凌驾
小部件构建(构建上下文){
返回容器(
页边距:仅限边集(顶部:最大值(超卷边,0)),
子项:ListView.builder(
物理:BouncingScrollPhysics(父项:AlwaysScrollableScrollPhysics()),
itemBuilder:widget.itemBuilder,
itemCount:widget.itemCount,
),
);
}
}
这似乎是问题的解决方案。如果我想添加一个操作,比如说如果我溢出X个数量,您将如何添加它?(你已经回答了我的问题,所以我谢谢你,我只是在等待10分钟来批准你的答案)。因此,你仍然需要使用Scroll通知。这只是滚动物理,它本身不发出任何事件。这似乎是问题的解决方案。如果我想添加一个动作,比如说如果我溢出X数量,你会如何添加它?(你已经回答了我的问题,所以我谢谢你,我只是在等待10分钟来批准你的答案)。因此,你仍然需要使用Scroll通知。这只是卷轴物理,它本身不发射任何事件。