Невозможно изменить высоту кнопки в флаттере - PullRequest
0 голосов
/ 12 апреля 2020

Я новичок, чтобы трепетать. Я пытаюсь вставить в «AppBar» простую «содержащуюся кнопку» с текстом на ней. (Например, дизайн материала «содержащаяся кнопка» здесь )

Проблема в том, что независимо от того, какую высоту я вставляю в Конструктор, кнопка все равно заполняет всю высоту панели приложения.

Я могу визуально решить проблему с установкой отступов, как я это делал в примере ниже, но меня расстраивает то, что я не понимаю, почему я не могу изменить высоту самой кнопки. Я также попытался обернуть его контейнером или sizeBox, как показано в ответах здесь , но он не внес никаких видимых изменений (все же кнопка заполнила всю высоту appBar)

I был бы очень признателен, если бы кто-то мог объяснить мне, почему код действует так.

1 Ответ

0 голосов
/ 13 апреля 2020

Я думаю, AppBar() следует рекомендациям по дизайну материала для AppBar .

. Это также связано с виджетом Material Scaffold().

Вы можете взять взгляд на эту документацию

В этом В конкретном случае , я думаю, лучший способ контролировать высоту - использовать Padding(). Вы можете стереть Контейнер в своем коде.

appBar: AppBar(
    automaticallyImplyLeading: false,
    title: Text(widget.title),
    actions: <Widget>[
      Padding(
        padding: const EdgeInsets.all(8.0),
        child: FlatButton(
            shape: RoundedRectangleBorder(
              borderRadius: BorderRadius.circular(5.0),
            ),
            color: Color.fromRGBO(58, 90, 128, 1),
            onPressed: () {},
            child: Text('Button')),
      ),
    ]),

Вы можете контролировать полный размер AppBar с помощью PreferredSize(), но это не имеет отношения к высоте кнопок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...