Flutter當中我們如何全域性關閉鍵盤小技巧學習 Android iOS 可執行

本頭條核心宗旨

歡迎來到「技術剛剛好」作者,「技術剛剛好」是個人維護,每天至少更新一篇Flutter技術文章,實時為大家播報Flutter最新訊息。如果你剛好也在關注Flutter這門技術,那就跟我一起學習進步吧,你的贊,收藏,轉發是對我個人最大的支援,維護不易,歡迎關注。

技術剛剛好經歷

近幾年,移動端跨平臺開發技術層出不窮,從Facebook家的ReactNative,到阿里家WEEX,前端技術在移動端跨平臺開發中大展身手,技術剛剛好作為一名Android開發,經歷了從Reactjs到Vuejs的不斷學習。而在2018年,我們的主角變成了Flutter,這是Goolge開源的一個移動端跨平臺解決方案,可以快速開發精美的移動App。希望跟大家一起學習,一起進步!

本文核心要點

Flutter當中我們如何全域性關閉鍵盤小技巧學習 Android iOS 可執行

一般做Android開發,打我們開啟鍵盤過後如果你不設定別的方法可能鍵盤就不會自動關閉,而蘋果就吧一樣,當你點選螢幕別的地方位置,就會自動隱藏鍵盤。

那我們在flutter當中有沒有比較簡單的方法來實現了,本文就介紹給大家了。

void main() { runApp(MyApp());}class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: ‘Flutter Demo’, theme: ThemeData( primarySwatch: Colors。blue, visualDensity: VisualDensity。adaptivePlatformDensity, ), builder: (context, child) => Scaffold( // Global GestureDetector that will dismiss the keyboard body: GestureDetector( onTap: () { // When running in iOS, dismiss the keyboard when any Tap happens outside a TextField if (Platform。isIOS) hideKeyboard(context); }, child: child, ), ), home: MyHomePage(title: ‘Flutter Demo Home Page’), ); } void hideKeyboard(BuildContext context) { FocusScopeNode currentFocus = FocusScope。of(context); if (!currentFocus。hasPrimaryFocus && currentFocus。focusedChild != null) { FocusManager。instance。primaryFocus。unfocus(); } }}

MaterialApp

builder

方法可用於在Navigator上方但在其他Widget下方插入Widget。我們僅添加了一個“全域性”

GestureDetector

,它將為我們處理鍵盤關閉。結果如下所示:

Flutter當中我們如何全域性關閉鍵盤小技巧學習 Android iOS 可執行

謝謝觀看技術剛剛好的文章,技術剛剛好是個人維護,每天至少更新一篇Flutter技術文章,為大家播報Flutter最新訊息。如果你剛好也在關注Flutter這門技術,那就跟我一起學習進步吧,你的贊,收藏,轉發是對我個人最大的支援,維護不易,歡迎關注。