我有一个文本字段,需要如下所示的多行以便文本换行,但是它占用了 maxLines 中定义的所有行的空间。我希望能够让它看起来像 1 行并随着文本换行而扩展。关于如何做到这一点的任何想法都是 flutter 的?
new TextField(
decoration: const InputDecoration(
hintText: 'Reply',
labelText: 'Reply:',
),
autofocus: false,
focusNode: _focusnode,
maxLines: 1,
controller: _newreplycontroller,
keyboardType: TextInputType.text,
),
最佳答案
将 maxLines
设置为 null,它将自动垂直增长。
已记录(但不完全清楚)here (编辑:我创建了一个 PR 来更新这个,我应该从这个问题开始;)。为了弄清楚这一点,我最终查看了 TextField
及其父类(super class)的代码,看看如果设置为 null 会有什么行为。
所以你的代码应该如下:
new TextField(
decoration: const InputDecoration(
hintText: 'Reply',
labelText: 'Reply:',
),
autofocus: false,
focusNode: _focusnode,
maxLines: null,
controller: _newreplycontroller,
keyboardType: TextInputType.text,
),
如果您试图使其自动增长水平,您可能不应该 - 至少不基于文本内容。但我假设你想让它垂直自动增长。
关于Flutter 文本字段随用户类型扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49110989/