簡體   English   中英

底部溢出 80 像素的 RenderFlex

[英]A RenderFlex overflowed by 80 pixels on the bottom

該頁面出現錯誤“RenderFlex 在底部溢出 80 像素”。 你怎么能修好它?

 class FavNews extends StatelessWidget { final FavoritesController controller = Get.find(); FavNews({Key? key}): super(key: key); @override Widget build(BuildContext context) { return Obx(() { return SizedBox( height: MediaQuery.of(context).size.height, child: ListView.builder( itemCount: controller.news.length, itemBuilder: (BuildContext context, int index) { return FavNewsItem( article: controller.news.keys.toList()[index], index: index, ); }), ); }); } }

在此處輸入圖像描述

將其 Sizedbox 放在 SingleChildScrollView 小部件中。

 return SingleChildScrollView(
     child: SizedBox(
       height: MediaQuery.of(context).size.height,
       child: ListView.builder(
        itemCount: controller.news.length,
        itemBuilder: (BuildContext context, int index) {
          return FavNewsItem(
            article: controller.news.keys.toList()[index],
            index: index,
          );
        }),)

就試一試吧。 它可能有效

問題在於您的 SizedBox 的高度。
MediaQuery.of(context).size.height返回整個屏幕的高度,包括底部的狀態欄、應用欄和系統手勢。

使用ListView.builder ,您可以使用shrinkWrap: true ,它只會使用它實際需要使用的空間。

例子:

return SingleChildScrollView(
  child: ListView.builder(
            shrinkWrap: true,
            itemCount: controller.news.length,
            itemBuilder: (BuildContext context, int index) {
              return FavNewsItem(
                article: controller.news.keys.toList()[index],
                index: index,
              );
            }),
         ),
   );

使用滾動條時不要硬塗高度刪除高度屬性,它會工作得很好

  final FavoritesController controller = Get.find();

  FavNews({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Obx(() {
      return SizedBox(
        child: ListView.builder(
            itemCount: controller.news.length,
            itemBuilder: (BuildContext context, int index) {
              return FavNewsItem(
                article: controller.news.keys.toList()[index],
                index: index,
              );
            }),
      );
    });
  }
}```

你不需要sizedBox

return Obx(() {
return ListView.builder(
        srinkWrap: true;
        itemCount: controller.news.length,
        itemBuilder: (BuildContext context, int index) {
          return FavNewsItem(
            article: controller.news.keys.toList()[index],
            index: index,
          );
        }),);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM