flutter-TextField/TextFromField---suffixIcon點選時不彈出鍵盤
阿新 • • 發佈:2020-12-17
FocusNode _focusNode=FocusNode(); TextFormField( controller: _pwdController, focusNode: _focusNode, decoration: InputDecoration( icon: Icon(Icons.lock), labelText: I18n.of(context).password, hintText: I18n.of(context).passwordHint, hintStyle: TextStyle(fontSize: 12), suffixIcon: IconButton( onPressed: () { //判斷TextFormField是否處於獲得焦點的狀態,如果沒有,當點選圖示時禁止TextFormField獲取焦點,也就不會彈出軟鍵盤了,當TextFormField獲取焦點時,點選圖示,不關閉軟鍵盤 if(!_focusNode.hasFocus){ _focusNode.canRequestFocus = false; Future.delayed(Duration(milliseconds: 200),(){ _focusNode.canRequestFocus = true; }); } setState(() { _isShowPassWord = !_isShowPassWord; }); }, icon: Icon(_isShowPassWord ? Icons.visibility_off : Icons.visibility), ), ), validator: (v) => v.trim().length >= 6 ? null : I18n.of(context).passwordError, obscureText: _isShowPassWord, textInputAction: TextInputAction.done, //設定軟鍵盤確定按鍵顯示為完成 );