#flutter #flutter-layout #textfield #text-alignment
Вопрос:
Я пытаюсь выровнять текст внутри моего текстового поля по вертикали по центру.
TextFormField( textAlignVertical: TextAlignVertical.center, maxLines: 1, style: const TextStyle(fontFamily: 'Helvetica Neue', fontWeight: FontWeight.w400, fontSize: 14), decoration: InputDecoration( contentPadding: const EdgeInsets.symmetric(horizontal: 20), fillColor: Theme.of(context).canvasColor, filled: true, hintText: widget.hintText, border: const OutlineInputBorder( borderSide: BorderSide(color: Colors.grey), ), focusedBorder: const OutlineInputBorder( borderSide: BorderSide(color: Colors.black12, width: 0.5), ), ), );
Я попытался использовать TextBaseline.alphabethic
для TextStyle
contentPadding top
и textAlignVertical
заархивировать это , но получил только странные результаты. Например TextAlignVertical.top/.center
, приводит к тому же, что показано на скриншоте, и TextAlignVertical.bottom
заканчивается тем, что находится за пределами TextField
. ContentPadding top
и textBaseline
не оказывает никакого влияния вообще.
Есть ли еще варианты попробовать?
Положение курсора выглядит идеально, просто текст неправильный.
Комментарии:
1. Я думаю, это случилось с вашей семьей шрифтов. Вы можете попробовать использовать другое семейство шрифтов.
2. Да, это тоже было мое предположение.
3. Не в состоянии создать ту же проблему, вы можете проверить попытку с другим шрифтом, как сказал @Poran
4. Работал с другим семейством шрифтов.