【发布时间】:2023-03-13 23:58:01
【问题描述】:
我是 Flutter 开发的新手,尝试了一些解决方法,但没有任何帮助。我希望我的文本在颤动中在TextFormField 中垂直居中。
textAlign: TextAlign.start 将我的文本带到左边,但我希望它们也垂直居中。
textAlign: TextAlign.center 将我的文本置于中心位置,但我希望它们也从左侧开始。
我的代码片段:
@override
Widget build(BuildContext context) {
return new Form(
key: _formKey,
child: new SingleChildScrollView(
child: new Theme(
data: new ThemeData(
primaryColor: const Color(0xFF102739),
accentColor: const Color(0xFF102739),
hintColor: const Color(0xFF102739)),
child: new Column(
children: <Widget>[
new TextFormField(
textAlign: TextAlign.center,
maxLines: 1,
autofocus: true,
keyboardType: TextInputType.emailAddress,
style: new TextStyle(
color: const Color(0xFF0f2638),
fontFamily: 'ProximaNova',
fontStyle: FontStyle.italic,
fontSize: 16.0),
decoration: new InputDecoration(
contentPadding: const EdgeInsets.only(
top: 8.0, bottom: 8.0, left: 10.0, right: 10.0),
hintText: "YOUR E-MAIL",
hintStyle: new TextStyle(
color: const Color(0x703D444E),
fontFamily: 'ProximaNova',
fontStyle: FontStyle.italic,
fontSize: 16.0),
border: new UnderlineInputBorder(
borderSide: new BorderSide(
color: const Color(0xFF0f2638), width: 0.2))),
validator: _validateEmail,
),
],
),
)));
}
【问题讨论】:
-
你的意思是在 TextInput 中的文本应该垂直居中?
-
是的没错,提示和输入文本都应该是 center_vertically @dhuma1981
-
你是怎么解决这个问题的?
-
还没收到解决方案,如果可以解决请回答。
-
只需用 Padding 包裹
TextFormField并将 EdgeInsets.all(/*value*/) 作为填充。最好将所有内容包含在容器中。并将 shapeDecoration 提供给容器和带有 Padding 的 TextFormField 内部。并删除所有 textAlign 属性