首页 > 解决方案 > Flutter 灵活的警报对话框列表

问题描述

我正在尝试创建一个包含可滚动列表的对话框。

我的问题是

  1. 当项目太少时,对话框不会缩小以适应。
  2. 当列表太大时,按钮会溢出。
  3. 该列表不知何故不能自由滚动并继续移动到其初始位置。

代码:

  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),
              ],
            )
          ],
        ));
  }

当项目太少时

在此处输入图像描述

物品过多时

在此处输入图像描述

标签: androidiosflutterflutter-layout

解决方案


试试这些!

添加mainAxisSize:MainAxisSize.min,Column小部件

ListViewFlexible

RowExpanded


推荐阅读