【发布时间】:2020-07-04 02:39:08
【问题描述】:
我的列表中有 20 项。我希望每行仅显示这些项目 3 或 4 个项目(取决于项目的长度)。
这是我的代码。我得到的输出是:
Widget build(BuildContext context) {
var screenSize = MediaQuery.of(context).size;
var width = screenSize.width;
return Scaffold(
body: Container(
height: 50,
width: width,
color: Theme.of(context).primaryColor,
child: Row(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: List.generate(selectedStudentsIT.length, (index) {
return Wrap(
children: <Widget>[
Container(
width: 100,
child: Card(
color: Colors.white,
semanticContainer: true,
clipBehavior: Clip.antiAliasWithSaveLayer,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10.0),
),
elevation: 5,
margin: EdgeInsets.all(10),
child: Center(
child: Text(
"myowntext",// item from the list using the index
style: TextStyle(
color: Colors.blue,
fontWeight: FontWeight.bold,
fontSize: 15.0,
),
),
),
),
)
],
);
}),
),
),
);
}
我也尝试过使用 WRAP 小部件、Flex 和扩展。但这并没有解决我的问题。
【问题讨论】:
-
你需要 ListView 而不是 Row