我正在尝试创建一个其中具有可滚动列表的对话框。
我的问题是
代码:
xml-join-node
项目太少
物品过多时
答案 0 :(得分:2)
尝试这些!
将mainAxisSize:MainAxisSize.min,
添加到Column
小部件
并用ListView
包裹Flexible
用Row
包裹Expanded
个孩子
答案 1 :(得分:0)
使用Center
,将宽度和高度赋予double.infinity
,然后根据需要留出余量。在Expanded
上使用list-view
赋予其最大高度。
通过这样做,中心将占据容器给定的所有高度和宽度。这样您就不必担心像素溢出了。
Widget getAllSelectedShipments() {
return Center(
child: Container(
height: double.infinity,
width: double.infinity,
margin: EdgeInsets.fromLTRB(20, 50, 20, 50),
child: Scaffold(
body: Container(
child: Column(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: <Widget>[
Expanded(
child: ListView.separated(
shrinkWrap: true,
itemCount: 10,
itemBuilder: (BuildContext context, int index) {
return ListTile(
leading: Icon(Icons.location_on),
title: Text("title $index"),
subtitle: Text("subtitle $index"),
onTap: () async {},
);
},
separatorBuilder: (context, index) {
return Divider();
},
),
),
Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: <Widget>[
Icon(Icons.cancel),
Icon(Icons.check),
],
)
],
))),
));
}
请勿使用AlertDialog
中的内容,而应使用Scaffold
来提供自定义视图。
showDialog(
context: context,
builder: (BuildContext context) {
return getAllSelectedShipments();
},
);