1. 程式人生 > 其它 >flutter-TextField/TextFromField---suffixIcon點選時不彈出鍵盤

flutter-TextField/TextFromField---suffixIcon點選時不彈出鍵盤

技術標籤:flutterflutter

	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,	//設定軟鍵盤確定按鍵顯示為完成
      );