Как центрировать AlertDialog FlatButton во флаттере - PullRequest
2 голосов
/ 21 марта 2020

Как можно настроить выравнивание FlatButton по центру, не создавая пользовательский AlertDialog?

AlertDialog(
      title: Text(
        'Alert Dialog'.toUpperCase(),
        textAlign: TextAlign.center,
        style: TextStyle(fontWeight: FontWeight.bold, fontSize: 28.0),
      ),
      content: SingleChildScrollView(
        child: ListBody(
          children: <Widget>[
            Text('Scrollable AlertDialog' * 100),
          ],
        ),
      ),
      actions: <Widget>[
        FlatButton(
          child: Text(
            'Accept'.toUpperCase(),
          ),
          onPressed: () {
            Navigator.of(context).pop();
          },
        ),
      ],
    );

Вот так это выглядит

Я попытался удалить «действия» и добавить FlatButton внутри строки в «контенте», но прокрутка перестала работать и содержимое переполнилось.

content: Column(
        children: <Widget>[
          SingleChildScrollView(
            child: ListBody(
              children: <Widget>[
                Text('Scrollable AlertDialog.' * 50),
              ],
            ),
          ),
          Row(
            children: <Widget>[
              FlatButton(
                child: Text(
                  'Accept'.toUpperCase(),
                  style: TextStyle(
                      color: Theme.of(context).primaryColor,
                      fontWeight: FontWeight.bold,
                      fontSize: 16.0
                  ),
                ),
                onPressed: () {
                  Navigator.of(context).pop();
                },
              ),
            ],
          ),
        ],
      ),

1 Ответ

0 голосов
/ 21 марта 2020

Попробуйте поэкспериментировать с actionsPadding, который является одним из свойств AlertDialog.

final horizontalPadding=50;

Горизонтальный отступ - это тот, который прозрачен слева и справа от диалога.

actionsPadding: EdgeInsets.only(right: MediaQuery.of(context).size.width/2-horizontalPadding*2),

Кроме того, go - Как стилизовать действия AlertDialog в Flutter . Вы можете изменить и поиграть в библиотеке, как указано здесь. Но это может не сработать для ваших коллег, которые делят репо git. Им также придется обновлять свои библиотеки на своих локальных компьютерах.

...