Уродливое решение, но оно работает. Другие решения (например, установка textAlignVertical
на TextAlignVertical.center
) не работают, поскольку maxLines
не является нулевым .
Добавьте TextStyle
к hintText
и установите height
из TextStyle
на 2.8
. Вам нужно уменьшить это значение, когда fontSize
больше, потому что height
будет умножено на fontSize
, чтобы получить высоту строки. Я добавил contentPadding
, чтобы текст не переполнялся (потому что теперь текст начинается с центра TextField
).
TextField(
maxLines: 3,
decoration: InputDecoration(
contentPadding: EdgeInsets.symmetric(vertical: 30),
hintText: 'Bio',
hintStyle: TextStyle(
height: 2.8,
),
prefixIcon: Icon(Icons.chrome_reader_mode),
fillColor: Colors.grey[200],
filled: true,
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(10.0),
borderSide: BorderSide(),
),
),
),
Результат:
res