美文网首页ITBOXFlutter学习
[Flutter]Row和Column中防止overflow错误

[Flutter]Row和Column中防止overflow错误

作者: Tsun424 | 来源:发表于2018-10-07 09:03 被阅读683次

问题描述

Flutter日常开发和页面布局中,用到Row和Column,但经常会由于信息过多导致Overflow错误。

I/flutter (12803): The following message was thrown during layout:
I/flutter (12803): A RenderFlex overflowed by 131 pixels on the right.
防止Overflow

Row中防止Overflow错误

Row中,我们可以通过Flex或者Explanded防止Overflow错误。

Row(
    mainAxisAlignment: MainAxisAlignment.start,
    children: <Widget>[
        Padding(
            padding: EdgeInsets.only(left: 8.0, right: 20.0), child: Icon(Icons.account_balance),),
            Expanded(
                child: Text(
                  'Main Cotent. This is a demo to show how to avoid overflow in a Row widget'),
            ),
          ],
)

Column中防止Overflow错误

Column中可以通过将Column包裹在SingleChildScrollView防止Overflow

Scaffold(
      appBar: AppBar(
        title: Text('Avoid Column Overflow'),
      ),
      body: SingleChildScrollView(
        child: Column(
          children: <Widget>[
            _oneRow(),
            _oneRow(),
            _oneRow(),
            _oneRow(),
            _oneRow(),
          ],
        ),
      ),
);

源码

点击Github源码浏览下载本示例源码

相关文章

网友评论

    本文标题:[Flutter]Row和Column中防止overflow错误

    本文链接:https://www.haomeiwen.com/subject/mwvfaftx.html