这可能听起来容易,但我们如何能做一个多行可编辑的文本域颤振?TextField只与单行工作。
编辑:一些精确度,因为看起来不清楚。 虽然您可以将multiline设置为虚拟换行文本内容,但它仍然不是多行。它是一行显示成多行。 如果你想做这样的事,那就不行。因为你没有回车键。没有回车键就没有多路线路。
这可能听起来容易,但我们如何能做一个多行可编辑的文本域颤振?TextField只与单行工作。
编辑:一些精确度,因为看起来不清楚。 虽然您可以将multiline设置为虚拟换行文本内容,但它仍然不是多行。它是一行显示成多行。 如果你想做这样的事,那就不行。因为你没有回车键。没有回车键就没有多路线路。
当前回答
要使用自动换行,只需将maxLines设置为null:
TextField(
keyboardType: TextInputType.multiline,
maxLines: null,
)
如果maxLines属性为空,则没有行数限制,并且启用换行。
其他回答
TextField有maxLines属性。
使用这个
TextFormField(
keyboardType: TextInputType.multiline,
maxLines: //Number_of_lines(int),)
1. 固定高度:
(A)基于线条:
TextField(
minLines: 3, // Set this
maxLines: 6, // and this
keyboardType: TextInputType.multiline,
)
(B)根据高度:
SizedBox(
height: 200, // <-- TextField expands to this height.
child: TextField(
maxLines: null, // Set this
expands: true, // and this
keyboardType: TextInputType.multiline,
),
)
2. 灵活的高度:
使用列和包装TextField在扩展:
Column(
children: [
Expanded(
child: TextField(
maxLines: null, // Set this
expands: true, // and this
keyboardType: TextInputType.multiline,
),
),
],
)
(可选)布景装饰:
你可以看到这个装饰的任何上述TextField:
decoration: InputDecoration(
hintText: 'Write a message',
filled: true,
)
使用扩展小部件进行动态感觉
Expanded(
child: TextField(
keyboardType: TextInputType.multiline,
minLines: 1,
maxLines: 3,
),
)
TextFormField(
minLines: 2,
maxLines: 5,
keyboardType: TextInputType.multiline,
decoration: InputDecoration(
hintText: 'description',
hintStyle: TextStyle(
color: Colors.grey
),
border: OutlineInputBorder(
borderRadius: BorderRadius.all(Radius.circular(20.0)),
),
),
),