【问题标题】:how to solve Flutter RenderConstrainedBox object was given an infinite size during layout如何解决 Flutter RenderConstrainedBox 对象在布局期间被赋予无限大小
【发布时间】:2021-08-20 19:34:37
【问题描述】:

我正在使用 Flutter,我正在尝试在 GridView 小部件之前在正文顶部显示 Admob 横幅 问题是加载广告时会出现以下问题

======== 渲染库捕获的异常 ================================== ==================== 在 performLayout() 期间引发了以下断言: RenderConstrainedBox 对象在布局期间被赋予了无限大小。

我确信这只是 UI 问题,因为如果我只使用小部件(admob 或 gridview)运行应用程序,它可以完美运行,但是当同时添加两者时我遇到了问题

这是我的代码

 return SafeArea(
                  child: Column(
                children: [
                  _isBannerAdReady
                      ? AdWidget(ad: _bannerAd)
                      : Text("no Ads"),
                  Expanded(
                    child: GridView.builder(
                        itemCount: examsList.length,
                        gridDelegate:
                            SliverGridDelegateWithFixedCrossAxisCount(
                          crossAxisCount: 2,
                          crossAxisSpacing: 5.0,
                          mainAxisSpacing: 5.0,
                        ),
                        itemBuilder: (ctx, index) {
                          return Card(
                            child: Column(
                              children: [
                                Expanded(
                                  flex: 1,
                                  child: Image.network(
                                    examsList[index].image!!,
                                    width: 150,
                                    height: 150,
                                  ),
                                ),
                                Expanded(
                                    flex: 1,
                                    child: Text(examsList[index].name!!))
                              ],
                            ),
                          );
                        }),
                  )
                ],
              ));

【问题讨论】:

  • 您没有分享您的 adWidget 代码。但我认为这是因为 adWidget(ad:...) 没有宽度和高度。尝试用 Container(width: double.infinity,height:50) 包装它
  • 是的,非常感谢您
  • 所以我把它作为其他好奇的人的答案

标签: android flutter


【解决方案1】:

我认为这是因为 adWidget(ad:...) 没有宽度和高度。尝试用Container(width: double.infinity,height:50) 包装它

【讨论】:

    猜你喜欢
    • 2018-03-31
    • 2020-08-13
    • 2021-08-06
    • 2020-05-20
    • 2021-09-06
    • 1970-01-01
    • 2019-05-13
    • 2020-04-15
    • 2021-05-13
    相关资源
    最近更新 更多