📅  最后修改于: 2023-12-03 14:51:27.220000             🧑  作者: Mango
在开发移动应用程序时,当用户单击屏幕上的按钮时关闭键盘是一个常见的需求。在Dart中实现这一功能非常简单,您只需要使用TextField的unfocus方法即可关闭键盘。 在本文中,我们将介绍如何通过在Flutter应用程序中使用Dart来实现此功能。
首先,您需要使用下面的命令创建一个新的Flutter应用程序:
flutter create my_app
在Scaffold部件中添加一个TextField小部件。这里我们添加了一个名为“inputField”的TextField:
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
home: Scaffold(
appBar: AppBar(
title: Text('Flutter Demo'),
),
body: Container(
padding: EdgeInsets.all(30.0),
child: TextField(
decoration: InputDecoration(
hintText: 'Enter some text',
),
controller: TextEditingController(),
keyboardType: TextInputType.text,
)
)
)
);
}
}
接下来,我们将在按钮单击事件中添加一个方法来关闭键盘。这里我们添加了一个名为“_onButtonPressed”的方法:
_onButtonPressed() {
FocusScope.of(context).unfocus();
}
这个方法会调用FocusScope的unfocus方法来关闭键盘。
在Scaffold部件中添加一个按钮,并将_onButtonPressed方法分配给它的onPressed事件:
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
home: Scaffold(
appBar: AppBar(
title: Text('Flutter Demo'),
),
body: Container(
padding: EdgeInsets.all(30.0),
child: Column(
children: [
TextField(
decoration: InputDecoration(
hintText: 'Enter some text',
),
controller: TextEditingController(),
keyboardType: TextInputType.text,
),
RaisedButton(
child: Text('Close Keyboard'),
onPressed: () {
_onButtonPressed();
},
),
],
),
),
),
);
}
}
在这里,我们添加了一个名为“Close Keyboard”的按钮,其_onButtonPressed方法在单击时调用。
最后,您可以使用模拟器或实体设备运行您的Flutter应用程序。每当按钮被单击时,键盘都将关闭。
在本文中,我们学习了如何在Dart中实现在点击按钮时关闭键盘的功能。通过使用TextField的unfocus方法和RaisedButton的onPressed事件,我们可以实现这个非常有用的功能。