【发布时间】:2020-08-18 12:34:59
【问题描述】:
我的要求是在列表视图中安排这样的项目:
item 1 item2
item 3 item4
item 5 item6
我目前正在使用 ListView 及其子组件作为 Wrap 小部件(将项目安排在下一行) 我的输出是这样的
item 1 item 4
item 2 item 5
item 3 item 6
如何在flutter中实现我的要求
【问题讨论】:
我的要求是在列表视图中安排这样的项目:
item 1 item2
item 3 item4
item 5 item6
我目前正在使用 ListView 及其子组件作为 Wrap 小部件(将项目安排在下一行) 我的输出是这样的
item 1 item 4
item 2 item 5
item 3 item 6
如何在flutter中实现我的要求
【问题讨论】:
最好的方法是使用GridView。它确实适用于您需要的那种布局。
这是example 的如何使用GridView:
GridView.count(
// Create a grid with 2 columns. If you change the scrollDirection to
// horizontal, this produces 2 rows.
crossAxisCount: 2,
// Generate 100 widgets that display their index in the List.
children: List.generate(100, (index) {
return Center(
child: Text(
'Item $index',
style: Theme.of(context).textTheme.headline5,
),
);
}),
);
这是一张显示GridView和ListView的布局差异的图片:
【讨论】:
@Uni 回答使用 Grid-view,这是 100% 正确的,但如果您需要这样的设置:
--小部件1-- --小部件2-- --------小部件3-------- --Widget4-- --Widget5--
您可以使用 Listview,然后将 Widget1 和 Widget2 放在一个 Row() 中,这样每行只有 1 个小部件(Row),但该小部件(Row)将有 2 个子小部件,或更多,在里面。 这比 Gridview 提供了更多的灵活性,但是说实话,如果您需要 gridview 的功能,那就使用它,我什至使用它,但是带有行的 Listview 可能有助于更动态的设计:)
【讨论】: