Flutter中TextField使用
目的在于想找出键盘删除键的回调。于是有了下文:
TextField跟踪发现 在控件返回里面 有个_requestKeyboard() 这个函数:
//源码实现
void _requestKeyboard() {
_editableTextKey.currentState?.requestKeyboard();
}
//然后调用 requestKeyboard()
void requestKeyboard() {
if (_hasFocus)
_openInputConnection();
else
//请求获取焦点
FocusScope.of(context).requestFocus(widget.focusNode);
}
复制代码
也就是 在requestKeyboard()中,如果是有 _hasFocus == true 的时候就弹出键盘 ,(也就是获取到了焦点)。
// _openInputConnection ()打开软键盘
TextInputConnection _textInputConnection;
bool get _hasInputConnection => _textInputConnection != null && _textInputConnection.attached;
void _openInputConnection() {
if (!_hasInputConnection) {
final TextEditingValue localValue = _value;
_lastKnownRemoteTextEditingValue = lo