当用户键入文本字段时,如何使它在Flutter中扩展?

时间:2019-10-19 11:42:26

标签: flutter

我正在设置一个文本字段,当在键盘上按Enter键时,该文本字段会扩展 当我尝试在最大行数中设置null时,它不显示文本字段内的文本 我什至设置扩展= true 我在代码中的size.height某个地方使用了媒体查询大小 我将文本字段包装在Flexible小部件中 并添加一些填充,然后将整个灵活小部件包装在一行中 最后将行包装在容器中

因此该代码无法正常工作,可以帮助我解决此问题

容器(

          height: size.height * .059,
          width: double.infinity,
          child: new Row(
            children: <Widget>[
              new Flexible(
                child: Padding(
                  padding: EdgeInsets.only(right: size.width * 0.007),
                  child: new TextField(
                    controller: _textFieldController,
                    textInputAction: TextInputAction.newline,
                    keyboardType: TextInputType.multiline,
                    maxLines: null,
                    expands: true,
                    style: TextStyle(color: Colors.black),
                    cursorColor: Colors.blue,
                    decoration: InputDecoration(
                      focusedBorder: OutlineInputBorder(
                          borderRadius: BorderRadius.circular(30.0),
                          borderSide: BorderSide(color: Color(0xff8e9291))),
                      enabledBorder: OutlineInputBorder(
                          borderRadius: BorderRadius.circular(30.0),
                          borderSide: BorderSide(color: Color(0xff8e9291))),
                      prefixIcon: Icon(
                        Icons.message,
                        color: Color(0xff8e9291),
                      ),
                      hintText: "Type a message",
                      hintStyle: TextStyle(
                        color: Color(0xff8e9291),
                      ),
                    ),
                  ),
                ),
              ),
              FloatingActionButton(
                backgroundColor: Colors.blue[400],
                onPressed: () {
                },
                tooltip: 'Send',
                child: RotationTransition(
                    turns: AlwaysStoppedAnimation(-35 / 360),
                    child: Icon(
                      Icons.send,
                      size: 20,
                    )),
              ),
            ],
          ),
        ),

这是我正在使用的“文本”字段。

2 个答案:

答案 0 :(得分:0)

您可以删除Container的高度,因为它的高度是固定的,而您可以删除expands的{​​{1}},因为那是为了使其充满父级的高度。

答案 1 :(得分:0)

您可以将MaxLine属性设置为null'maxLines:null` 这将使textField可以垂直展开