大佬教程收集整理的这篇文章主要介绍了 【Flutter 实战】全局点击空白处隐藏键盘,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
对于单个页面来说,通过为 TextField 添加 focusnode,点击空白处时使 TextField 失去焦点,实现如下:
class DismissKeyboardDemo extends StatelessWidget {
final Focusnode focusnode = Focusnode();
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(),body: GestureDetector(
onTap: () {
focusnode.unfocus();
},child: Container(
color: Colors.transparent,alignment: Alignment.center,child: TextField(
focusnode: focusnode,),);
}
}
当 App 中有多个页面多个 TextField 时,此方式会增加大量重复的代码,因此全局添加点击空白处的监听:
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',builder: (context,child) => Scaffold(
body: GestureDetector(
onTap: () {
FocusScopeNode currentFocus = FocusScope.of(context);
if (!currentFocus.hasPriMaryFocus &&
currentFocus.focusedChild != null) {
Focusmanager.instance.priMaryFocuS.Unfocus();
}
},child: child,home: DismissKeyboardDemo(),);
}
}
也可以使用如下方式隐藏键盘:
SystemChAnnels.texTinput.invokeMethod('TexTinput.hide');
修改 @H_404_7@DismissKeyboardDemo 页面:
class DismissKeyboardDemo extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(),body: Center(
child: TextField(),);
}
}
@L_801_12@和上面是一样的,同样可以实现点击空白处隐藏键盘。
老孟Flutter博客地址(330个控件用法):http://laomengit.com
欢迎加入Flutter交流群(微信:laomENGIt)、关注公众号【老孟Flutter】:
以上是大佬教程为你收集整理的 【Flutter 实战】全局点击空白处隐藏键盘全部内容,希望文章能够帮你解决 【Flutter 实战】全局点击空白处隐藏键盘所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。