flutter 如何让textfield动态显示多行?

lon*_*ong 1 textfield flutter flutter-layout

我要实现的效果是初始文本框显示一行,当内容超过一行时,文本框显示两行。问题是文本字段的基线会向下移动,导致它被下面的小部件遮挡。我希望基线保持连续。

在此处输入图片说明

在此处输入图片说明

代码:

return Scaffold(
      appBar: AppBar(),
      body: Column(
        children: <Widget>[
          ConstrainedBox(
            constraints: BoxConstraints(
              maxHeight: 60.0
            ),
            child: TextField(
              maxLines: null,
              maxLengthEnforced: false,
              keyboardType: TextInputType.multiline,
            ),
          ),
          Container(height: 20.0,width: 200.0,color: Colors.red),
        ],
      )
    );
Run Code Online (Sandbox Code Playgroud)

预期的效果应该是:

一行文字效果:

多行文字效果:

请注意,基线位置并未向下移动。

小智 10

只需将maxLines属性设置为null。该文本字段部件会自动换行文本,动态变化的行数。

文档