Flutter: Text: Выровнять новую строку с предыдущей строкой (отступ) - PullRequest
0 голосов
/ 31 августа 2018

В основном то, что происходит с моим текстом, таково:

enter image description here

Этот текст был написан с использованием следующего кода:

child: Text(
            "1)    Persons with burns, skin infections\n2)    Primary or secondary immunodeficiencies (HIV)\n3)    Previous tuberculosis infection\n4)    Untreated active tuberculosis\n5)    History of close contact with tuberculosis patient\n6)    Immunosupressed individuals (i.e. HIV infected, leukemia, lymphoma, malignancy)\n7)    People receiving immunosuppressive medications (including high-dose steroids\n8)    Pregnancy",
          ),

Я хочу, чтобы 2-я строка в 6) и 7) была выровнена по началу текста, а не по номеру. Есть ли способ сделать это во флаттере?

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

1 Ответ

0 голосов
/ 31 августа 2018

Полагаю, вы создали что-то вроде этого:

return new ListView(
  shrinkWrap: true,
  children: <Widget>[
   const Text('1) I\'m dedicating every day to you'),
   const Text('2) Domestic life was never quite my style'),
   const Text('3) When you smile, you knock me out, I fall apart'),
   const Text('4) And I thought I was so smart')
  ]
);

Однако вы можете использовать Row Widget для достижения желаемого результата:

return new ListView(shrinkWrap: true, children: <Widget>[
  new Row(children: <Widget>[
    Text('1) '),
    Expanded(child: Text('I\'m dedicating every day to you'))
  ], crossAxisAlignment: CrossAxisAlignment.start),
  new Row(children: <Widget>[
    Text('2) '),
    Expanded(child: Text('Domestic life was never quite my style'))
  ], crossAxisAlignment: CrossAxisAlignment.start),
  new Row(children: <Widget>[
    Text('3) '),
    Expanded(child: Text('When you smile, you knock me out, I fall apart blablabla'))
  ], crossAxisAlignment: CrossAxisAlignment.start),
  new Row(children: <Widget>[
    Text('4) '),
    Expanded(child: Text('And I thought I was so smart')),
  ], crossAxisAlignment: CrossAxisAlignment.start)
]);

Конечно, это немного некрасиво, однако я надеюсь, что это укажет вам правильное направление.

Screenshot

...