Flutter-如何修复RenderFlex溢出错误?

时间:2019-10-27 21:00:59

标签: flutter layout

我想创建一个带有图像背景的列表视图。这是我的建造者代码

ListView.builder(
    itemCount: this.locations.length,
    itemBuilder: (context, index) {
      return Container(
          height: 100,
          decoration: BoxDecoration(
              image: DecorationImage(
                  image: NetworkImage(this.locations[index].url),
                  fit: BoxFit.cover)),
          child: new Row(
            crossAxisAlignment: CrossAxisAlignment.end,
            children: <Widget>[
              new Text(this.locations[index].name,
                  style: Styles.listItemStyle)
            ],
          ));
    },
  )

some of the text is being clipped

2 个答案:

答案 0 :(得分:1)

在我看来,问题出在名称上,文字比屏幕大,因此Flutter尝试呈现无法看到的内容。您可以考虑以下解决方案:

  • 使用auto_size_text package,它将自动缩小文本字体大小以适应其限制。
  • 使用LayoutBuilder widget获取文本的父项constraints,并用SizeBox强制文本适合其可用大小,然后可以在{ {1}}构造函数,如果文本不适合屏幕,则显示三个点。
  • 使用水平SingleChildScrollView使文本可滚动。

答案 1 :(得分:0)

当容器仅包含一个Widget时,为什么需要一行?尝试删除“行”小部件。那么Container内的文本应该正确吗?