Как отцентрировать текст по вертикали и горизонтали во флаттере? - PullRequest
0 голосов
/ 27 мая 2018

Я хотел бы знать, как центрировать содержимое текстового виджета по вертикали и горизонтали в Flutter.Я знаю только, как центрировать сам виджет, используя Center(child: Text("test")), но не сам контент, он по умолчанию выровнен по левому краю.В Android я считаю, что свойство TextView, которое достигает этого, называется gravity.

Пример того, что я хочу:

centered text example

Ответы [ 4 ]

0 голосов
/ 01 августа 2019

Текстовый элемент внутри Центра SizedBox работает намного лучше, ниже Пример кода

Widget build(BuildContext context) {
    return RawMaterialButton(
      fillColor: Colors.green,
      splashColor: Colors.greenAccent,
      shape: new CircleBorder(),
      child: Padding(
        padding: EdgeInsets.all(10.0),
        child: Row(
          mainAxisSize: MainAxisSize.min,
          children: <Widget>[
            SizedBox(
              width: 100.0,
              height: 100.0,
              child: Center(
                child: Text(
                widget.buttonText,
                maxLines: 1,
                style: TextStyle(color: Colors.white)
              ),
              )
          )]
        ),
    ),
  onPressed: widget.onPressed
);
}

Наслаждайтесь кодированием ?‍?

0 голосов
/ 21 ноября 2018

Свойство центра выравнивания текста устанавливает только горизонтальное выравнивание.

enter image description here

Я использовал приведенный ниже код для установки текста вертикально и горизонтально по центру.

enter image description here

Код:

      child: Center(
        child: new Text(
        "Keerthanai Songs",
        textAlign: TextAlign.center,
        ),
      )
0 голосов
/ 05 июня 2019

Я думаю, что более гибким вариантом было бы заключить Text() в Align() примерно так:

Align(
  alignment: Alignment.center, // Align however you like (i.e .centerRight, centerLeft)
  child: Text("My Text"),
),

Использование Center(), похоже, полностью игнорирует TextAlign в виджете Текст.Он не будет выравнивать TextAlign.left или TextAlign.right, если вы попытаетесь, он останется в центре.

0 голосов
/ 27 мая 2018

Вы можете использовать TextAlign свойство конструктора Text.

Text("text", textAlign: TextAlign.center,)
...