我在容器中有一个文本文件,并且我希望该文本文件支持多行,所以我不能达到容器的高度。但是在没有单词的情况下如何设置文本字段的默认高度? 我尝试了contentPadding,但无法正常工作。 这是我的代码:
TextField(
controller: _textEditingController,
decoration: InputDecoration(
hintText: "留下你的评论吧~",
contentPadding: EdgeInsets.only(left: getMyWidth(10), right: getMyWidth(10)),
fillColor: default_bg,
filled: true,
border: OutlineInputBorder(borderSide: BorderSide.none, borderRadius: BorderRadius.all(Radius.circular(getMyWidth(5)))),
),
style: makeBlackStyle(),
keyboardType: TextInputType.multiline,
maxLines: null,
cursorColor: themeColor,
onChanged: (str) {
setState(() {
inputStr = str;
});
},
)
所以,我的问题是:当没有单词时,如何设置文本字段的默认高度?我想降低文本文件的默认高度,并且需要支持mulitiline
答案 0 :(得分:1)
您可以使用'minLines:2',它将为您提供您放置的行数的高度。 希望对您有所帮助。
答案 1 :(得分:0)
用户可以设置maxLines
中的TextField
来设置最大高度。设置maxLines仍将支持多行。
TextField(
maxLines: 5
)
答案 2 :(得分:0)
https://github.com/flutter/flutter/issues/27838
可接受的查询 使用-> contentPadding:
TextField(
decoration: InputDecoration(
contentPadding: EdgeInsets.all(8.0),//here set your padding
https://github.com/flutter/flutter/issues/27838#issuecomment-507603179
或
new Container(
width:80.0
child:new TextField
)
答案 3 :(得分:0)
您可以使用以下内容,我也正在我的项目中使用以下内容。将TextField
包装在容器中,然后更改容器本身的大小。然后添加contentPadding
来减小输入。
Container(
height 56, // Optional to decrease/increase
child: TextField(
decoration: InputDecoration(
contentPadding: EdgeInsets.all(8.0), // Increase to make smaller
prefixIcon: icon,
labelText: 'Label',
hintText: 'Hint',
border: null,
),
minLines: 1,
maxLines: null // Adds support for multiple lines
));
答案 4 :(得分:0)
使用以下代码替换您的代码,以使您的TextField中至少有 3 行:
TextField(
minLines: 3,
controller: _textEditingController,
decoration: InputDecoration(
hintText: "留下你的评论吧~",
contentPadding: EdgeInsets.only(left: getMyWidth(10), right: getMyWidth(10)),
fillColor: default_bg,
filled: true,
border: OutlineInputBorder(borderSide: BorderSide.none, borderRadius: BorderRadius.all(Radius.circular(getMyWidth(5)))),
),
style: makeBlackStyle(),
keyboardType: TextInputType.multiline,
maxLines: null,
cursorColor: themeColor,
onChanged: (str) {
setState(() {
inputStr = str;
});
},
)
答案 5 :(得分:0)
只设置isDense:在修饰中为真