我需要一个Box,在其中插入并存储一些用户输入的信息,我使用的是'TextField',所以我将'TextField'中的'maxLines'选项从默认值(1)更改为(2)当我想在此处插入一些文字时,我无法离开此框,因为“完成”按钮已更改为“返回”,阻止了我!键盘也被锁定。之所以这样做,是因为我想要一个带有一些文本(例如描述)的Box,可以将其移动到所需的位置并更改其所有属性。我的问题是文本字段全部写在一行中,我需要在文本字段的边框处换行。您知道如何更好地处理TextField吗?这是代码的一部分:
Widget build(BuildContext context) {
return new Scaffold(
backgroundColor: Colors.white,
body : Container(
decoration: BoxDecoration(
shape: BoxShape.rectangle,
image: DecorationImage(
image: _image == null
? AssetImage('assets/images/io.png')
: FileImage(_image), // here add your image file path,
alignment: Alignment.topCenter,
),
),
child: GestureDetector(
child:Container(
alignment: Alignment.center,
child : ConstrainedBox(
constraints: BoxConstraints(
maxHeight: 400,
maxWidth: 400,
),
child: TextField(
minLines: 1,
maxLines: 2,
decoration: InputDecoration(
border: OutlineInputBorder(
borderRadius: BorderRadius.all(
const Radius.circular(48.0)
),
),
labelText: 'Descrizione',
labelStyle: TextStyle(
backgroundColor: Colors.white,
),
),
),
),
),
)
)
);
P.S .:我正在研究这个'GestureDetector',我想它应该对此有用。
在TextField
中进入InputDecoration
,然后将Widget添加到后缀属性。后缀属性是一个小部件,显示在Textfield
的末尾。
FocusNode node = FocusNode();
TextField(
minLines: 1,
maxLines: 2,
focusNode: node,
decoration: InputDecoration(
suffix: RaisedButton(
onPressed: () {
node.unfocus();
},
child: Text("Done"),
),
border: OutlineInputBorder(
borderRadius:
BorderRadius.all(const Radius.circular(48.0)),
),
labelText: 'Descrizione',
labelStyle: TextStyle(
backgroundColor: Colors.white,
),
),
),