flutter 使用keyboard_actions 關閉ios鍵盤


項目中登錄 輸入賬號密碼 彈出的鍵盤 關閉不了,從而 引來一些問題, 

1,第一次關閉 項目是在 最外層包裹一層,點擊的時候進行關閉,

return Scaffold(
      resizeToAvoidBottomPadding: true, //輸入框抵住鍵盤
      body: Builder(
       builder: (context) {
         FormKeyboardActions.setKeyboardActions(context, _buildConfig(context));
        return  ModalProgressHUD(
             inAsyncCall:_saving,
             color: Colors.black,
             progressIndicator: new CircularProgressIndicator(),
             child: InkWell(
               onTap:  (){
                 FocusScope.of(context).requestFocus(FocusNode());
               },
               child: defaultTargetPlatform == TargetPlatform.iOS ? FormKeyboardActions(
                 child: buildBody(),
               ) : SingleChildScrollView(
                 child: buildBody(),
               ) ,
             )
         );
       },
    ));

2.更坑爹的是用戶不知道點擊空白的時候關閉鍵盤,其實是一個用戶的反饋,產品跟我說是一堆用戶反饋。我去

進一步的需求是鍵盤的上方 需要加一個條進行關閉

 

 找了個插件 keyboard_actions 集成到項目中

遇到的問題是集成的過程中報了個錯。

調用

FormKeyboardActions.setKeyboardActions(context, _buildConfig(context));
錯誤:Context does not contain a FormKeyboardActions ancestor: see Scaffold.of for reference.  

解決的辦法是 路由進入的時候包一層

Navigator.of(context).push(
      MaterialPageRoute(
          builder: (_) => FormKeyboardActions(
                  child: SizedBox(
                width: screenWidth(),
                height: screenHeight(),
                child: KeyboardTest(),
              ))),
    );
只有這一個問題比較坑,其他引入插件的過程中倒沒遇到什么問題,就不一一記錄了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM