Ограничьте размер барьера и содержимого showDialog

Я пытаюсь обрезать или ограничить размер барьера showDialog, чтобы он мог содержаться в другом виджете.

Я попытался использовать LayoutBuilder внутри showDialog, чтобы получить ограничения, но он не работает.

Я на флаттере 2.2 WEB

Я также попытался установить глобальный ключ для виджета, который имеет размер, который я не хочу переполнять, и получить размер RenderBox, но возвращаемый размер - это окончательный размер моего браузера.

1 ответ

попробуйте добавить столбец внутри содержимого в диалоговом окне и установите для mainAxisSize значение min

      showDialog(
        context: context,
        builder: (BuildContext context) {
          return AlertDialog(
            title: new Text("Smaller Dialog"),
            content: Column(
                mainAxisSize: MainAxisSize.min,
                children: [
                   //your code here
                ]
                ),
              );
            });
Другие вопросы по тегам