Flutter 异常 “Another exception was thrown: A RenderFlex overflowed by 2.5 pixels on the bottom.” 解决办法

异常信息

在使用 GridView 展示商品列表时程序抛出一下异常:

flutter: Another exception was thrown: A RenderFlex overflowed by 2.5 pixels on the bottom.

在这里插入图片描述

并且在程序的页面上也同样无法正常显示:
在这里插入图片描述

相关的代码如下:

class HomePage extends StatefulWidget {
  HomePage({Key key}) : super(key: key);

  _HomePageState createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {
  Widget _getData(context, index) {
    return Container(
      decoration: BoxDecoration(
        border: Border.all(
          width: 1,
          color: BoxLineColor,
        ),
      ),
      child: Column(
        crossAxisAlignment: CrossAxisAlignment.start,
        mainAxisAlignment: MainAxisAlignment.start,
        children: <Widget>[
          Image.network(
            hPageData[index]['imageUrl'],
            fit: BoxFit.cover,
          ),
          // SizedBox(
          //   height: 5,
          // ),
          Text(
            hPageData[index]['pName'],
            style: TextStyle(
              fontSize: 14,
            ),
            maxLines: 1,
            overflow: TextOverflow.ellipsis,
          ),
          // SizedBox(
          //   height: 5,
          // ),
          Text(
            '¥${hPageData[index]['price']}',
            style: TextStyle(
              fontSize: 18,
              color: Colors.red,
            ),
          ),
        ],
      ),
    );
  }

  @override
  Widget build(BuildContext context) {
    return Padding(
      padding: EdgeInsets.all(10),
      child: GridView.builder(
        gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
          crossAxisCount: 2,
          crossAxisSpacing: 10,
          mainAxisSpacing: 10,
        ),
        itemCount: hPageData.length,
        itemBuilder: this._getData,
      ),
    );
  }
}
异常原因及解决方法

经过尝试此问题的原因是因为 SizedBox 值设置的大小超过了外层widget的高度。相关代码:

SizedBox(height: 5),

根据异常可看出超过了2.5 pixels(像素),那么将 SizedBox 的值变小即可

解决:

减小或者去掉 SizedBox 设置即可。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值