Как убрать пустое место в AlertDialog? - PullRequest
2 голосов
/ 06 мая 2020

Я хотел показать AlertDialog, который предлагает пользователю выбрать цвет. Я сделал это, однако между ColorPicker и кнопками действий много пустого места:

enter image description here

Как удалить пустое пространство и сделать диалог настолько большим, насколько он должен быть? Я попытался использовать Dialog вместо AlertDialog, а также обернуть мой контент внутри Column с mainAxisSize, установленным на MainAxisSize.min, но ни один из них не работал. Любопытно то, что значение, переданное в contentPadding, похоже, не влияет на пользовательский интерфейс. Я пробовал разные значения, и он остался прежним.

Это код:

void _showColorPickerDialog() {
    showDialog(
        context: context,
        builder: (BuildContext context) {
          return AlertDialog(
            contentPadding: const EdgeInsets.all(6.0),
            title: Text('Pick a color'),
            content: MaterialColorPicker(),
            actions: [
              FlatButton(
                  child: Text('CANCEL', style: TextStyle(color: Colors.blue)),
                  onPressed: Navigator.of(context).pop),
              FlatButton(
                  child: Text('OK', style: TextStyle(color: Colors.blue)),
                  onPressed: Navigator.of(context).pop),
            ],
          );
        });
  }

Автор пакета (Material ColorPicker) предоставляет некоторый код, показывающий, как это сделать, что довольно похож на мой, но имеет ту же проблему. Возможно, моя версия Flutter не такая, как у него. В любом случае, вы знаете какой-нибудь хороший подход к решению этой проблемы? Заранее спасибо.

1 Ответ

3 голосов
/ 06 мая 2020

Может может сработает; Задайте высоту функции MaterialColorPicker

content: Container(height:250, child: MaterialColorPicker(),)

...