Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Flutter中将溢出添加到列表中?_Flutter - Fatal编程技术网

如何在Flutter中将溢出添加到列表中?

如何在Flutter中将溢出添加到列表中?,flutter,Flutter,我想在列表的末尾和顶部添加一个overscrolls,只有当有人overscrolls时 所以。。。我有一些想法,我尝试从使用手势检测器开始,如果列表大于屏幕,它似乎不起作用,然后我添加了一个ListView滚动控制器,但它只在列表大于屏幕时起作用 我继续尝试通过通知添加它,但它似乎太慢了 有什么想法吗 class _PullableListState extends State<PullableList> { double overScrollOnEnd = 0; @ov

我想在列表的末尾和顶部添加一个overscrolls,只有当有人overscrolls时

所以。。。我有一些想法,我尝试从使用手势检测器开始,如果列表大于屏幕,它似乎不起作用,然后我添加了一个ListView滚动控制器,但它只在列表大于屏幕时起作用

我继续尝试通过通知添加它,但它似乎太慢了

有什么想法吗

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通知。这只是卷轴物理,它本身不发射任何事件。