在Android和iOS中,可以将键盘的回车/换行键更改为例如“Go”按钮(以及其他选项)。
在{{下面}},有另一个设置,在两个系统中都可以简单地在本机应用程序中进行调整。这种情况下是“{{前往}}”按钮。
在{{下面}},有另一个设置,在两个系统中都可以简单地在本机应用程序中进行调整。这种情况下是“{{前往}}”按钮。
TextField(或 TextFormField
)的 输入操作 可以像这样指定(这里是 Go 按钮):
TextField(
textInputAction: TextInputAction.go
...
)
这是你如何使用textInputAction
:
TextField(
textInputAction: TextInputAction.search,
onSubmitted: (value) {
print("search");
},
decoration: InputDecoration(
border: InputBorder.none,
prefixIcon: Icon(Icons.search),
hintText: 'Search ',
contentPadding: EdgeInsets.fromLTRB(20.0, 15.0, 20.0, 15.0),
),
);
对于TextField:
TextField(
textInputAction: TextInputAction.go,
onSubmitted: (value) {
print("Go button is clicked");
},
decoration: InputDecoration(
border: InputBorder.none,
contentPadding: EdgeInsets.fromLTRB(20.0, 15.0, 20.0, 15.0),
),
);
对于TextFormField
TextFormField(
textInputAction: TextInputAction.go,
onFieldSubmitted: (value) {
print("Go button is clicked");
},
decoration: const InputDecoration(
hintText: "Type your search here",
hintStyle: TextStyle(color: Colors.black26),
filled: true,
fillColor: Colors.white,
border: OutlineInputBorder(
borderSide: BorderSide.none,
borderRadius: BorderRadius.all(Radius.circular(40.0)),
),
contentPadding:
EdgeInsets.symmetric(horizontal: 20.0, vertical: 16.0)),
)
void _openInputConnection() {
if (!_hasInputConnection) {
final TextEditingValue localValue = _value;
_lastKnownRemoteTextEditingValue = localValue;
_textInputConnection = TextInput.attach(this,
new TextInputConfiguration(
inputType: widget.keyboardType,
obscureText: widget.obscureText,
autocorrect: widget.autocorrect,
inputAction: widget.keyboardType == TextInputType.multiline
? TextInputAction.newline
: TextInputAction.done
)
)..setEditingState(localValue);
}
_textInputConnection.show();
}
EditableText
类(不是状态类)的~280行处声明一个新字段。final TextInputAction textInputAction;
EditableText
构造函数中分配它。this.textInputAction,
TextField
中:final TextInputAction textInputAction;
并将以下内容添加到它的构造函数中:
this.textInputAction,
EditableText
的第479行: textInputAction: widget.textInputAction,
完成了。
现在你可以在你的应用程序中指定一个自定义的 TextInputAction
。这不会破坏现有的 TextField
,它只是添加了覆盖默认行为的能力。
new TextField(
keyboardType: TextInputType.text,
textInputAction: TextInputAction.newline,
),
TextInputAction.go
。 - Rémi RousseletTextField(
textInputAction: TextInputAction.go
.......
)
对于TextFormField,
TextFormField(
textInputAction: TextInputAction.go,
........
)
两者都有textInputAction属性,我们可以使用它
任何寻找 UIReturnKeyDone
的人都像这样:
TextField(
textInputAction: TextInputAction.done
...
)
我还没有探索TextInputType的所有"keyboardType"选项,它是TextField的一个可选参数。
但是对于'emailAddress','datetime'和'phone',有一些明显不同的键盘选项 - 其中一个选项可能会发出您正在寻找的键盘...
IME
有关。 - creativecreatorormaybenot