Как обрабатывать длинный текст в InputDecoration-> labelText в Flutter - PullRequest
0 голосов
/ 04 июля 2018

У меня есть TextFormField в настройке Flutter, например:

new TextFormField (
    decoration: new InputDecoration(
    labelText: questionString,
    labelStyle: new TextStyle(
      fontSize: 18.0,
      color: new Color(0xFF18776A),
    )
),

Создается следующий снимок экрана:

TextFormField with labelText

Текст обрезается в конце автоматически, потому что он слишком длинный. Есть ли способ настроить размер шрифта, чтобы он соответствовал экрану, или сделать labelText расширенным до двух строк?

Ответы [ 2 ]

0 голосов
/ 30 марта 2019

Извиняюсь за добавление к старому вопросу, но просто учусь трепетать и наткнулся на похожую проблему.

Мой обходной путь - использовать hintText вместо labelText и явно добавлять \ n разрывы строк к нему.

Что-то вроде

String questionString = 'This sample is very \n very very very long'
new TextFormField (
    decoration: new InputDecoration(
    hintText: questionString,
    hintStyle: new TextStyle(
      fontSize: 18.0,
      color: new Color(0xFF18776A),
    ) .   

),

Мне это не нравится, так как по сути сложно кодировать ширину экрана. Но он по крайней мере дает многострочный текст подсказки.

Когда я попытался добавить разрывы строк в свой labelText, все стало довольно странно, когда нижние строки labelText слились в поле ввода. Может быть, если бы я мог найти способ добавить там заполнение, чтобы предотвратить это, это было бы немного лучше?

0 голосов
/ 04 июля 2018

Вы можете использовать TextFormFields maxLines свойство:

new TextFormField ( 
    maxLines: 4,
    decoration: new InputDecoration( 
        labelText: questionString, 
        labelStyle: new TextStyle( 
            fontSize: 18.0, 
            color: new Color(0xFF18776A), 
        ) 
 ),
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...