如何在 TextFormField 中添加标签文本和用户输入之间的间隙?
how to add gap between label text and user input in TextFormField?
如上图所示,我想在 'email' 标签文本和实际电子邮件输入 (abcd@gmail.com) 之间添加 gap/space。怎么做?
这是我当前的代码
Form(
child: Column(
children: [
TextFormField(
autocorrect: false,
decoration: InputDecoration(labelText: "Email"),
keyboardType: TextInputType.emailAddress,
textInputAction: TextInputAction.next,
),
],
),
);
您可以通过在TextField 装饰中添加contentPadding
来解决您的问题。
用这个替换你的代码,
Form(
child: Column(
children: [
TextFormField(
autocorrect: false,
decoration: InputDecoration(labelText: "Email",
contentPadding: const EdgeInsets.only(top: 1)),
keyboardType: TextInputType.emailAddress,
textInputAction: TextInputAction.next,
),
],
),
);
让我知道它是否适合你。
您的文本字段默认为 UnderlineInputBorder
。仅指定 contentPadding
无济于事,文本和标签之间的间隙无论如何都是相同的。
要添加一些 space,您可以将 OutlineInputBorder 与 contentPadding 一起使用。如果您不想添加轮廓边框样式,只需使用 borderSide: BorderSide.none
。这是代码:
TextFormField(
autocorrect: false,
decoration: InputDecoration(
labelText: "Email",
border: OutlineInputBorder(borderSide: BorderSide.none),
contentPadding: const EdgeInsets.fromLTRB(12, 24, 12, 24),
),
keyboardType: TextInputType.emailAddress,
textInputAction: TextInputAction.next,
),
如果您仍然想看到下划线,您应该使用上面的 Stack 小部件并手动添加它。
如上图所示,我想在 'email' 标签文本和实际电子邮件输入 (abcd@gmail.com) 之间添加 gap/space。怎么做?
这是我当前的代码
Form(
child: Column(
children: [
TextFormField(
autocorrect: false,
decoration: InputDecoration(labelText: "Email"),
keyboardType: TextInputType.emailAddress,
textInputAction: TextInputAction.next,
),
],
),
);
您可以通过在TextField 装饰中添加contentPadding
来解决您的问题。
用这个替换你的代码,
Form(
child: Column(
children: [
TextFormField(
autocorrect: false,
decoration: InputDecoration(labelText: "Email",
contentPadding: const EdgeInsets.only(top: 1)),
keyboardType: TextInputType.emailAddress,
textInputAction: TextInputAction.next,
),
],
),
);
让我知道它是否适合你。
您的文本字段默认为 UnderlineInputBorder
。仅指定 contentPadding
无济于事,文本和标签之间的间隙无论如何都是相同的。
要添加一些 space,您可以将 OutlineInputBorder 与 contentPadding 一起使用。如果您不想添加轮廓边框样式,只需使用 borderSide: BorderSide.none
。这是代码:
TextFormField(
autocorrect: false,
decoration: InputDecoration(
labelText: "Email",
border: OutlineInputBorder(borderSide: BorderSide.none),
contentPadding: const EdgeInsets.fromLTRB(12, 24, 12, 24),
),
keyboardType: TextInputType.emailAddress,
textInputAction: TextInputAction.next,
),
如果您仍然想看到下划线,您应该使用上面的 Stack 小部件并手动添加它。