创建新行时如何保持 TextFormField 边框的高度

问题描述

Container(
          padding: EdgeInsets.only(bottom: 150),margin: EdgeInsets.all(10),decoration: Boxdecoration(
              border: Border.all(width: 2,color: Colors.black),borderRadius: BorderRadius.all(Radius.circular(10))),child: TextFormField(
            keyboardType: TextInputType.multiline,maxLines: null,style: TextStyle(
                fontSize: 20,fontWeight: FontWeight.w600,fontFamily: 'Montserrat'),decoration: Inputdecoration(
                border: InputBorder.none,hintText: 'Task Description...',hintStyle: TextStyle(
                    fontFamily: 'Montserrat',fontWeight: FontWeight.w400,fontStyle: FontStyle.italic,fontSize: 20)),),)

因此,我事先使用 Container 和 Text 小部件制作了布局,然后将其更改为 TextFormField,但我真的想坚持使用 Container 的边框。但是当我输入新行时出现这个问题,边框/框会自动调整其高度。我不想这样,有什么办法可以解决这个问题吗?

谢谢。

解决方法

将您的 maxLines 设置为 null

Container(
      padding: EdgeInsets.only(bottom: 150),margin: EdgeInsets.all(10),decoration: BoxDecoration(
          border: Border.all(width: 2,color: Colors.black),borderRadius: BorderRadius.all(Radius.circular(10))),child: TextFormField(
        keyboardType: TextInputType.multiline,maxLines: null,style: TextStyle(
            fontSize: 20,fontWeight: FontWeight.w600,fontFamily: 'Montserrat'),decoration: InputDecoration(
            border: InputBorder.none,hintText: 'Task Description...',hintStyle: TextStyle(
                fontFamily: 'Montserrat',fontWeight: FontWeight.w400,fontStyle: FontStyle.italic,fontSize: 20)),),)
,

public void ConfigureServices(IServiceCollection services) minLines 定义为相同:

enter image description here

完整源代码

maxLines
,

试试maxLines: null, 所以不需要固定大小它会根据内容自动调整大小