我的TextFormField表格字段用于电子邮件和密码高度很小。我希望它与按钮的大小相同。
final email = TextFormField(
keyboardType: TextInputType.emailAddress,
autofocus: false,
initialValue: 'sathyabaman@gmail.com',
style: new TextStyle(fontWeight: FontWeight.normal, color: Colors.white),
decoration: InputDecoration(
hintText: 'Email',
contentPadding: EdgeInsets.fromLTRB(20.0, 10.0, 20.0, 10.0),
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(32.0)
),
),
);
什么是文本表单字段中高度的语法。
答案 0 :(得分:7)
您可以通过更改minLines值来更改高度,只需尝试
TextFormField(
keyboardType: TextInputType.multiline,
controller: _opTextController,
decoration: InputDecoration(
isDense: true,
border: OutlineInputBorder(
borderSide: BorderSide(color: Colors.black)
)
),
maxLines: 5,
minLines: 3,
// controller: cpfcontroller,
)
答案 1 :(得分:3)
只需调整InputDecoration中的contentPadding。
CodecRegistry codecRegistry = CodecRegistries.fromRegistries(MongoClient.getDefaultCodecRegistry());
final DocumentCodec codec = new DocumentCodec(codecRegistry, new BsonTypeClassMap());
--------
String docJson = document.toJson(codec);
答案 2 :(得分:2)
将 expands
上的 TextFormField
属性设置为 true
,然后将 TextFormField
放入带有 SizedBox
的 height
SizedBox(
height: 40.0,
child: TextFormField(
keyboardType: TextInputType.emailAddress,
autofocus: false,
expands: true //Setting this attribute to true does the trick
initialValue: 'sathyabaman@gmail.com',
style: new TextStyle(fontWeight: FontWeight.normal, color: Colors.white),
decoration: InputDecoration(
hintText: 'Email',
contentPadding: EdgeInsets.fromLTRB(20.0, 10.0, 20.0, 10.0),
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(32.0)
),
),
),
)
答案 3 :(得分:1)
您可以使用此代码自定义TextFormField
new SizedBox(
width: 200.0,
height: 300.0,
child: const Card(child: const Text('Hello World!')),
)
答案 4 :(得分:1)
还有另外一种选择,即添加额外的永久填充来覆盖errorText
,这可能会弄乱许多设计师的原始项目。
您可以创建source's TextFormField
的修改版本。
要实现这一目标,您可以:
TextFormField
中的所有内容。TextFormField
只是为了避免与原始名称命名冲突。
TextFormField
替换为TextFormFieldWithErrorTextOption
。TextFormField
的构造函数(在this line下)添加另一个参数,例如errorTextPresent
:
// `true` is the current implicit default, i.e., showing the `errorText`
bool errorTextPresent = true
TextField
:
decoration: effectiveDecoration.copyWith(field.errorText)
decoration: effectiveDecoration.copyWith(
errorText: errorTextPresent ? field.errorText : null)
TextFormField
一样使用新的TextFormField
:
TextFormFieldWithErrorTextOption(
errorTextPresent: false, // `false` will disable the `errorText`
...
),
答案 5 :(得分:0)
只需添加一个容器。根据您的要求调整容器的高度,并将textformfield设为容器的子项。
答案 6 :(得分:0)
使用这两行来控制TextFormField
内部InputDecoration
的高度。
isDense: true,
contentPadding: EdgeInsets.fromLTRB(10, 10, 10, 0),
完整示例
Material(
elevation: 4,
shadowColor: Colors.blue,
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(10)),
child: Padding(
padding: const EdgeInsets.only(left: 12),
child: TextFormField(
controller: searchProvider.searchController,
keyboardType: TextInputType.text,
decoration: InputDecoration(
hintText: 'hintText',
isDense: true, // important line
contentPadding: EdgeInsets.fromLTRB(10, 10, 10, 0),// control your hints text size
hintStyle: TextStyle(letterSpacing: 2, color: Colors.black54, fontWeight: FontWeight.bold),
fillColor: Colors.white30 ,
filled: true,
border: OutlineInputBorder(borderRadius: BorderRadius.circular(30), borderSide: BorderSide.none)),
),
),
),
答案 7 :(得分:0)
截图:
代码:
您需要使用 <project>
[...]
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>3.0.0-M3</version>
<executions>
<execution>
<id>enforce-java</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireJavaVersion>
<version>[1.8,9]</version>
</requireJavaVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
[...]
</project>
和 SizedBox
属性。
TextField.maxLines