Flutter Renderflex 溢出

问题描述 投票:0回答:1

我有一些文本,如果很长,则会导致 renderflex on the right 错误。 我尝试过将长文本包装在 Expanded 中 - 这没有什么区别。编译器建议归咎于第一行,但我无法将其包装在 Expanded 中,因为错误使用 ParentDataWidget 错误。

return
  Container(
    padding: EdgeInsets.only(top: 1, bottom: 5),
    width: MediaQuery.of(context).size.width,
    color: Colors.white,
    child:
    Row(. /** THIS IS THE ROW THE COMPILER SAYS IS AT FAULT - CANNOT WRAP IN EXPANDED **/
      children: [
          Column(
          children: [
            Row(
            children: [
              Column (
                children: [
                  Image.asset(summary.getIconPath(),
                      width: 100,
                      errorBuilder: (ctx, error, stackTrace) =>
                          Text('Image Error')
                  ),
                ],
              ),

               Column (
                 children: [
                   Row(
                     mainAxisSize: MainAxisSize.min,
                     children: [
                       Text(summary.time.toString() + " - " + summary.tempMax.toString()),
                     ],
                   ),
                 ]
               ),
              ]
              ),
            Row(
               children: [
                 Text(summary.description ?? ""), /** THIS IS THE TEXT WHICH IF LONG CASES THE ERROR - WRAPPING IN. EXPANDED DOESN"T WORK **/
               ],
             ),
          ],
        ),
      ],
    ),
  );
flutter
1个回答
0
投票

我删除了不必要的行并使用灵活的小部件换行了文本。

Container(
        padding: const EdgeInsets.only(top: 1, bottom: 5),
        width: MediaQuery.of(context).size.width,
        color: Colors.white,
        child: Column(
          children: [
            Row(children: [
              Column(
                children: [
                  // Image.asset(summary.getIconPath(),
                  //     width: 100,
                  //     errorBuilder: (ctx, error, stackTrace) =>
                  //         Text('Image Error')
                  // ),
                  Container(
                    width: 100,
                  )
                ],
              ),
              const Column(children: [
                Row(
                  mainAxisSize: MainAxisSize.min,
                  children: [
                    Text(
                        "summary.time.toString() - summary.tempMax.toString()"),
                  ],
                ),
              ]),
            ]),
            const Flexible(
              child: Text(
                "sadaass d ssasdad asdas sadsas sasdasasdsa ss das sas adsaasaddsasa sss ad aas ssd  sadssdd d sdsdasd sadasdadsads asdadsdasdsa asddaasddsasa sasdsads sddsadsdaas sass as  asdaasdssasa d adsdsdadaddaddsaaadaddsasd dsaasdadsasd sadasdasdasd asddas asdasd asdasd asdasd",
                softWrap: true,
              ),
            ),
          ],
        ),
      )

这正在起作用。

© www.soinside.com 2019 - 2024. All rights reserved.