全局点击屏幕隐藏键盘

2022-01-14  本文已影响0人  晓函

点击屏幕隐藏键盘

            //点击空白区域隐藏键盘
            FocusScopeNode currentFocus = FocusScope.of(context);
            if (!currentFocus.hasPrimaryFocus &&
                currentFocus.focusedChild != null && FocusManager.instance.primaryFocus!=null) {
              FocusManager.instance.primaryFocus!.unfocus();
            }

实现全局点击屏幕隐藏键盘,可以加在MyApp的builder中

完整代码



class MyApp extends StatelessWidget{
  MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context){

    return ScreenUtilInit(
      designSize:Size(360,690),//页面设计尺寸
      builder:(){
        var materapp = MaterialApp(
          title:'我的App',
          theme:Theme.of(context).copyWith(
            appBarTheme: Theme.of(context).appBarTheme.copyWith(
              color:Color(0xFFFFFFFF),
              foregroundColor: Colors.black,
              elevation:0
            )
          ),
          debugShowCheckedModeBanner: false,
          home:const SplashScreen(),
          onGenerateRoute: App.router.generator,    // 添加挂在到 app 上      
        );
        return GestureDetector(
          child:materapp,
          onTap: (){
            //全局点击空白区域隐藏键盘
            FocusScopeNode currentFocus = FocusScope.of(context);
            if (!currentFocus.hasPrimaryFocus &&
                currentFocus.focusedChild != null && FocusManager.instance.primaryFocus!=null) {
              FocusManager.instance.primaryFocus!.unfocus();
            }
          },
        );
        
      }
    );
  }


}
上一篇 下一篇

猜你喜欢

热点阅读