Flutter 学习笔记:A RenderFlex overflowed by 48 pixels on the right

问题产生

最近学习Flutter的过程中遇到一个问题A RenderFlex overflowed by 48 pixels on the right.,就是显示的内容跑到屏幕外了,看不到了,如下图:

在这里插入图片描述

解决思路

查看报错信息,只是截取了关键的一段,如下:

Consider applying a flex factor (e.g. using an Expanded widget) to force the children of the RenderFlex to fit within the available space instead of being sized to their natural size.

我的代码是使用column来显示两个text,不过text的长度不固定的一段文字,代码如下所示:

new Column(
                crossAxisAlignment: CrossAxisAlignment.start,
                children: <Widget>[
                  new Text(x == 0
                      ? "ONE STORY"
                      : x == 1
                      ? "Ba As One"
                      : getTitle(int.parse(root[x].content_type))),
                  new Text(root[x].title.toString(),
                      softWrap: true, maxLines: 2),
                ],
              ),

结合上面的报错信息,建议我们使用Expanded来包裹一下children来解决这个问题,我们如下处理代码将上面的代码块放到Expanded进行一层包裹,问题解决。

new Expanded(
                child: new Column(
                  crossAxisAlignment: CrossAxisAlignment.start,
                  children: <Widget>[
                    new Text(x == 0
                        ? "ONE STORY"
                        : x == 1
                        ? "Ba As One"
                        : getTitle(int.parse(root[x].content_type))),
                    new Text(root[x].title.toString(),
                        softWrap: true, maxLines: 2),
                  ],
                ),
              )
结束了啊

由于本人是Android开发,所以Flutter所以学习问题有点多,如果是前端的话感觉会好很多啊。

有问题欢迎纠正,谢谢啦

如果对你有帮助就点个赞把。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值