首页 > 解决方案 > 在颤动中将小部件自动包装到新行

问题描述

我有 5 个大小不同的小部件,如果彼此相邻放置,它们会溢出。

我正在寻找一个布局助手类,它将小部件限制在水平空间,并将小部件自动包装到新行。首先,我正在寻找一个网格视图,但更喜欢一个独立的视图,因为所有元素都有不同的宽度。多行文本字段实际上已经这样做了,我只需要使用我的小部件使用相同的方法。有任何想法吗?

<Widget>[
    new RaisedButton(child: const Text('Foo')),
    new RaisedButton(child: const Text('Foo Bar')),
    new RaisedButton(child: const Text('Foo Bar Bas')),
    new RaisedButton(child: const Text('F')),
    new RaisedButton(child: const Text('B'))
]

标签: layoutdartflutter

解决方案


Wrap小部件是您所需要的:

return Wrap(
      children: <Widget>[
        new RaisedButton(child: const Text('Foo')),
        new RaisedButton(child: const Text('Foo Bar')),
        new RaisedButton(child: const Text('Foo Bar Bas')),
        new RaisedButton(child: const Text('F')),
        new RaisedButton(child: const Text('B'))
      ],
    );

您还可以将属性添加runSpacingspacing您的Wrap小部件中,以便在水平和垂直的项目之间留出更多空间。

Wrap(
            runSpacing: 5.0,
            spacing: 5.0,

在此处输入图像描述


推荐阅读