“列”小部件将子级包装在带有装饰的特定小部件中时在子级之间绘制一条线。我该如何治愈?

问题描述 投票:0回答:1

该问题在所附的屏幕截图中可见。

Screenshot of what is happening

主窗口小部件的代码:

Column(
  mainAxisAlignment: MainAxisAlignment.start,
  children: [
    Flexible(
      child: Decor(
        child: Container(),
      ),
      flex: 1,
    ),
    Flexible(
      child: Decor(
        child: Container(),
      ),
      flex: 6,
    )
  ],
);

装饰小部件的代码:

Container(
  decoration: BoxDecoration(
    color: COLOR,
  ),
  margin: const EdgeInsets.symmetric(
    horizontal: MEDIUM_PADDING,
  ),
  padding: const EdgeInsets.all(MEDIUM_PADDING),
  width: 300.0,
  child: child,
);

[预先回答“您为什么还要做这样的装饰小部件”?两个弹性部件都将填充某种数据。第二种灵活方法是在内部使用ListView,第一个灵活方法是在ListView内部使用“标题”。每隔10秒钟从服务器检索一次数据,因此主窗口小部件由StreamBuilder包装。

问题是StreamBuilder不能缩小到其子项的大小,而ListView可以,因此我将“ Header”和ListView都包装在Decor中,以使灰色背景色不会占用屏幕上会产生的所有可用空间。屏幕截图上出现黑线?

所以问题是:是否可以删除列中两个小部件之间的黑线?

此外,如果您知道如何将StreamBuilder缩小到其子大小的魔力,请在这里也回答。

flutter flutter-layout
1个回答
0
投票

好吧,我知道这不是一个很好的解决方案,更像是一种解决方法,但我认为摆脱这条线的唯一方法是在Decor小部件中设置容器的边框颜色

© www.soinside.com 2019 - 2024. All rights reserved.