Как убрать заполнение содержимого из TextField? - PullRequest
0 голосов
/ 06 декабря 2018

Я новичок во флаттере и создаю форму входа, для этого я использовал TextField и добавил иконку префикса, но я получаю дополнительные пробелы между текстовыми полями (идентификатор пользователя и пин-код) и перед иконкой префикса.Я также попробовал InputDecorationTheme, но это не сработало.

Пожалуйста, дайте мне знать, как я могу удалить или уменьшить пространство .??1003*

Ниже мой код:

TextField(
  maxLength: 8,
  keyboardType: TextInputType.number,
  decoration: InputDecoration(
    hintText: hint,
    hintStyle: TextStyle(fontSize: 12.0),
    prefixIcon: Icon(icon),
    counterText: '',
  ),
)

x

Ответы [ 4 ]

0 голосов
/ 11 июля 2019

Применяя минус-отступ, используя

transform: Matrix4.translationValues(-10.0, 0.0, 0.0),

над строкой внутри контейнера значков

TextFormField(
          keyboardType: TextInputType.number,
          style: new TextStyle(color: Colors.white, fontSize: 17),
          decoration: new InputDecoration(
              prefixIcon: Container(
                transform: Matrix4.translationValues(-10.0, 0.0, 0.0),
                child: Icon(
                  Icons.vpn_key,
                  color: Colors.white,
                ),
              ),
              labelText: "Enter Password",
              labelStyle: new TextStyle(color: Colors.white)),
        ),
0 голосов
/ 06 декабря 2018

Этот prefixIcon уже содержит отступ 12.0 в соответствии с документацией.Таким образом, вам не нужно предоставлять дополнительный отступ.

См. Приведенное ниже объяснение и код, который вы можете найти в input_decorator.dart.

Значок префикса ограничен минимальным размером48px на 48px, но может быть расширен за пределы этого.Все, что больше 24px, потребует дополнительного заполнения, чтобы убедиться, что оно соответствует спецификации материала 12px заполнения между левым краем ввода и передним краем значка префикса.Чтобы дополнить передний край иконки префикса:

prefixIcon: Padding(
     padding: const EdgeInsetsDirectional.only(start: 12.0),
     child: myIcon, // icon is 48px widget.
)

Надеюсь, это поможет.

0 голосов
/ 06 февраля 2019

Я немного опоздал, но единственное, что вам нужно сделать, это использовать отрицательные отступы:

TextField(
   decoration: InputDecoration(
      contentPadding: EdgeInsets.symmetric(vertical: -5),
      labelText: 'Description',
   )
 )
0 голосов
/ 06 декабря 2018

Вы можете использовать contentPadding InputDecoration.Вот пример кода

TextField(
   maxLines: 8,
   decoration: InputDecoration(
      contentPadding: EdgeInsets.symmetric(vertical: 5),
      labelText: 'Description',
      labelStyle: txtHintStyle,
   )
 )
...