Контейнер переносит текстовый виджет, но почему на виджет кнопки влияет TextAlign?

#android #flutter

#Android #трепетание

Вопрос:

Сэр, в коде я переношу единственный текстовый виджет. После этого я использовал некоторый пользовательский стиль, такой как выравнивание текста. Но после использования я ожидал центрировать только текстовую часть, потому что только этот виджет переносится не на другой. Но я видел, что моя кнопка также центрируется. Как это возможно? Я обернул один виджет, но пострадал мой другой виджет. В чем тут логика, сэр? скриншот

Комментарии:

1. Не могли бы вы поделиться своим кодом?

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

Ответ №1:

Вам нужно установить crossAxisAlignment: CrossAxisAlignment.start и обернуть текст заголовка с помощью виджета center. надеюсь, приведенный ниже код может показать вам хороший пример.

 class Demo extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("title"),
      ),
      body: Column(
        crossAxisAlignment: CrossAxisAlignment.start,
        children: <Widget>[
          Center(
            child: Text("Whats your favourite food?"),
          ),
          RaisedButton(
            onPressed: () {},
            child: Container(
              padding: EdgeInsets.zero,
              decoration: BoxDecoration(),
              child: Padding(
                padding: const EdgeInsets.all(8.0),
                child: Text("Answer 1"),
              ),
            ),
          ),
          RaisedButton(
            onPressed: () {},
            child: Container(
              padding: EdgeInsets.zero,
              decoration: BoxDecoration(),
              child: Padding(
                padding: const EdgeInsets.all(8.0),
                child: Text("Answer 1"),
              ),
            ),
          ),
          RaisedButton(
            onPressed: () {},
            child: Container(
              padding: EdgeInsets.zero,
              decoration: BoxDecoration(),
              child: Padding(
                padding: const EdgeInsets.all(8.0),
                child: Text("Answer 1"),
              ),
            ),
          ),
        ],
      ),
    );
  }
}
  

Ответ №2:

Установите виджет столбца mainaxisalignement для запуска или перенесите все виджеты, которые вы не хотите центрировать в столбце