android - Flutter 灵活的警报对话框列表
问题描述
我正在尝试创建一个包含可滚动列表的对话框。
我的问题是
- 当项目太少时,对话框不会缩小以适应。
- 当列表太大时,按钮会溢出。
- 该列表不知何故不能自由滚动并继续移动到其初始位置。
代码:
show(){
showDialog(
context: context,
builder: (BuildContext context) {
return AlertDialog(
elevation: constants.dElevation,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(constants.dRadius),
),
title: Text("title"),
content: getAllSelectedShipments());
},
);
}
Widget getAllSelectedShipments() {
return Container(
width: 300.0, // Change as per your requirement
child: Column(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: <Widget>[
UtilUI.getColorScaffold(
constants,
constants.transparent,
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>[
UtilUI.getButtonSmall(context, constants, Icons.cancel,
constants.sCancel, (constants) => null),
UtilUI.getButtonSmall(context, constants, Icons.check,
constants.sDone, (constants) => null),
],
)
],
));
}
当项目太少时
物品过多时
解决方案
试试这些!
添加mainAxisSize:MainAxisSize.min,
到Column
小部件
并ListView
用Flexible
并Row
用Expanded
推荐阅读
- jquery - 从二进制数据 Jquery 显示 PDF
- javascript - vscode没有在终端窗口/输出中显示超过3个嵌套的对象
- javascript - 根据单选按钮显示 div(带 POST)
- android - 在 Android 的运行时添加和删除两个孩子之间的布局
- python - 使用正则表达式和 python 查找名称、对话等
- python - Pyfolio - AttributeError:“numpy.int64”对象没有属性“to_pydatetime”
- reactjs - 识别反应中的图像存在
- javascript - 使用带有 chai-as-promised 的自定义 chai 方法断言
- java - JsonPath:如何动态转换和映射结果
- python - 出现错误:“列表”对象在 Python 中不可调用