gpt4 book ai didi

flutter - 调用 setState 时键盘关闭

转载 作者:行者123 更新时间:2023-12-04 07:59:01 25 4
gpt4 key购买 nike

当 TextFormField 有焦点与否时,我想在 Scaffold 中隐藏/显示一些小部件。
我设法通过将 TextField 包装在 Focus 小部件中来做到这一点,但是每当我点击它开始输入小部件时,我试图隐藏的小部件都会消失,但键盘会失去焦点,直到我第二次点击 TextField。
任何想法为什么会发生这种情况以及如何防止它?

最佳答案

您可以使用 flutter_keyboard_visibility包裹:
有几种方法可以用它构建你的 Widget 树,比如使用分离的 bool 值:

    // Add new variable for keyboard in your Stateful widget
bool keyboardIsVisible = false;

// Add listener at initState
@override
void initState() {
super.initState();

KeyboardVisibilityNotification().addNewListener(
onChange: (bool visible) {
keyboardIsVisible = visible;
setState(() {});
},
);
}
或者您可以使用他们的构建器小部件:
    import 'package:flutter_keyboard_visibility/flutter_keyboard_visibility.dart';

/// In any of your widgets...
@override
Widget build(BuildContext context) {
return KeyboardVisibilityBuilder(
builder: (context, isKeyboardVisible) {
return Text(
'The keyboard is: ${isKeyboardVisible ? 'VISIBLE' : 'NOT VISIBLE'}',
);
}
);

关于flutter - 调用 setState 时键盘关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66551814/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com