Как обновить высоту и ширину TextField флаттера?

Как настроить высоту и ширину раскладки TextField в Flutter?

Ответы

Ответ 1

Чтобы настроить ширину, вы можете обернуть свой TextField с помощью виджета Container, например:

new Container(              
  width: 100.0,
  child: new TextField()
)

Я не совсем уверен, что вам нужно, когда дело доходит до высоты TextField но вы можете определенно взглянуть на виджет TextStyle, с помощью которого вы можете манипулировать fontSize и/или height

new Container(              
  width: 100.0,
  child: new TextField(                                 
    style: new TextStyle(
      fontSize: 40.0,
      height: 2.0,
      color: Colors.black                  
    )
  )
)

Имейте в виду, что height в TextStyle является мультипликатором размера шрифта, как и комментарии к самому свойству:

Высота этого текста, как кратное размеру шрифта.

Если применяется к корню [TextSpan], это значение устанавливает высоту строки, которая является минимальным расстоянием между последующими текстовыми базовыми линиями, как кратное размеру шрифта.

И последнее, но не менее важное: вы можете взглянуть на свойство decoration TextField, которое дает вам много возможностей

EDIT: Как изменить внутреннее дополнение/край TextField

Вы можете играть с InputDecoration и decoration TextField. Например, вы можете сделать что-то вроде этого:

new TextField(                                
    decoration: const InputDecoration(
        contentPadding: const EdgeInsets.symmetric(vertical: 40.0),
    )
)

Ответ 2

Вы можете попробовать свойство margin в контейнере. Оберните текстовое поле внутри контейнера и настройте свойство поля.

                      new Container(
                      margin: const EdgeInsets.only(right: 10, left: 10),
                      child: new TextField(

                        decoration: new InputDecoration(
                            hintText: 'username',
                            icon: new Icon(Icons.person)),
                      )),

Ответ 3

Чтобы установить базовую высоту, добавьте "\n" к вашему hintText.

Это дает базовую высоту, и она растет. (обходной путь, но полезный)

TextField(
  decoration: InputDecoration(
    hintText: 'Tell your story\n\n\n\n\n',
  ),
  keyboardType: TextInputType.multiline,
  maxLines: null,
  controller: tec,
  //expands: true, // this needs LayoutBuilder SingleChildScrollView ConstrainedBox IntrinsicHeight Column and Expanded. i'm using only ListView.
),