Как выровнять 2 текстовых виджета в одной строке с началом и концом строки во флаттере? - PullRequest
0 голосов
/ 07 ноября 2018

У меня есть строка во флаттере, которая содержит 2 текстовых виджета, я хочу добавить один текстовый виджет в начало строки, а другой в конец:

это мой код:

  Row(
                            children: <Widget>[
                              Text(
                                "eshiett1995",
                                textAlign: TextAlign.left,
                                style: TextStyle(fontWeight: FontWeight.bold),
                              ),
                              Padding(padding: EdgeInsets.only(right: 10.0),),
                              Text(
                                "4:33am",
                                textDirection: TextDirection.ltr,
                                textAlign: TextAlign.left,
                                style: TextStyle(fontWeight: FontWeight.bold),
                              )

                            ],
                          ),

и сейчас мой код выглядит так:

enter image description here

Я хочу, чтобы eshiett1995 оставался в начале, а время 4:33 - до конца

Ответы [ 4 ]

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

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

Row(
                        children: <Widget>[
                          Text(
                            "eshiett1995",
                            textAlign: TextAlign.left,
                            style: TextStyle(fontWeight: FontWeight.bold),
                          ),
                          Expanded(
                              child: Text(
                            "4:33am",
                            textDirection: TextDirection.ltr,
                            textAlign: TextAlign.right,
                            style: TextStyle(fontWeight: FontWeight.bold),
                          ))
                        ],
                      )
0 голосов
/ 07 ноября 2018

Вы можете использовать AxisAlignment или SizedBox , чтобы разделить оба текста на самые левые и самые правые позиции.

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

Вам просто нужно добавить свойство Row mainAxisAlignment: MainAxisAlignment.spaceBetween,.

Вы можете удалить Padding.

Row(
  mainAxisAlignment: MainAxisAlignment.spaceBetween,
  //mainAxisSize: MainAxisSize.max,
  children: <Widget>[
    Text(
      "eshiett1995",
      textAlign: TextAlign.left,
      style: TextStyle(fontWeight: FontWeight.bold),
    ),
    Text(
      "4:33am",
      textDirection: TextDirection.ltr,
      textAlign: TextAlign.left,
      style: TextStyle(fontWeight: FontWeight.bold),
    )
  ],
),
0 голосов
/ 07 ноября 2018

Вы пробовали класс Spacer? https://docs.flutter.io/flutter/widgets/Spacer-class.html

Добавить виджет Spacer между двумя текстами.

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