繁体   English   中英

列表视图中的项目未放置在脚手架容器的顶部

[英]items in listview are not placed at the top of the scaffold container

我正在构建一个动态滚动视图。 目前的结果是这样的。 当前结果

问题是这些项目没有像我预期的那样位于 position 0 的顶部。 用红色突出显示:不打算在那里的额外空间。

我已经尝试将搜索栏放置在滚动视图的顶部额外空间上,但是当您开始滚动时,卡片与搜索栏小部件重叠。

所以我的问题是:是什么导致了这个额外的空间,我该如何删除它?

滚动列表 class:

class ScrollListWidget extends DersObject {

  late ListHandler listHandler;

  int cardsPerScreen;
  double margin;

  double getCardHeight(){
    return this.height / this.cardsPerScreen - heightPercentageAsDouble(this.margin) * 2;
  }

  ScrollListWidget(width, height, listType, {this.cardsPerScreen = 3, this.margin = 0.01}): super(width: width, height: height){
    this.listHandler = ListHandler(width, getCardHeight(), listType);
  }

  @override
  Widget build(BuildContext context) {
    return Container(
        width: width,
        height: height,
        child: new Scaffold(
            body:  new ListView.separated
              (
                separatorBuilder: (BuildContext context, int index) {
                  return Line(height: heightPercentageAsDouble(this.margin), width: width,
                  color: Color.fromARGB(255, 255, 255, 255));
                },
                itemCount: listHandler.getList().length,
                itemBuilder: (BuildContext ctxt, int index) {
                  return listHandler.getList()[index];
                }
            )
        )
    );

  }

}

ListView文档

默认情况下,ListView 将自动填充列表的可滚动末端,以避免 MediaQuery 的填充指示的部分障碍。 要避免此行为,请使用零填充属性覆盖。

所以尝试将其添加到ListView构造函数中:

padding: EdgeInsets.zero,

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM