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

return Container(
  constraints:BoxConstraints(
    minHeight: 100,
    minWidth: 100,
  ),
  margin: EdgeInsets.all(10),
  padding: EdgeInsets.all(10),
  color: Color(0x4d000000),
//alignment: Alignment.center,
  child: Text(
    "some message",
    style: Theme.of(context).textTheme.title,
  ),
);

Размер контейнера определяется полем «Текст и ограничения». если размер текста меньше минимальных ограничений, текст не будет в центре контейнера. но при установке выравнивания контейнер заполняет весь экран.

0
HomoErgasteSpirit 13 Фев 2019 в 09:42

2 ответа

Лучший ответ

Вы можете дать maxWidth и maxHeight и BoxConstraints для управления размером контейнера.

В противном случае вы можете просто использовать FittedBox Widget - It Масштабирует и позиционирует свое дитя внутри себя.

Обернуть контейнер FittedBox

FittedBox(
              child: Container(
                constraints: BoxConstraints(
                  minHeight: 100,
                  minWidth: 100,
                ),
                margin: EdgeInsets.all(10),
                padding: EdgeInsets.all(10),
                color: Color(0x4d000000),
                alignment: Alignment.center,
                child: Text(
                  "some message",
                  style: Theme.of(context).textTheme.title,
                ),
              ),
            ),
0
anmol.majhail 13 Фев 2019 в 07:44

Используйте свойство {{X 0}} виджета Text:

child: Text(
"some message",
style: Theme.of(context).textTheme.title,
,textAlign: TextAlign.center// this is what you should add
),
0
Mazin Ibrahim 13 Фев 2019 в 06:46