flutter - Flutter 键盘检测可见性
问题描述
我想检测键盘是否可见。我可以实现在其他 stackoverlfow 线程上建议的黑客攻击:
bool keyboardvisible = MediaQuery.of(context).viewInsets.bottom > 0;
这适用于 Android,但在 iOS 上,无论键盘是否可见,这个底部属性似乎总是返回 0。
有没有更好的方法来检测在两个平台上都有效的键盘可见性?
谢谢约翰
解决方案
这个插件会帮助你。它为 iOS 和 Android 的可见性变化提供了一个监听器。
示例代码:
import 'package:keyboard_visibility/keyboard_visibility.dart';
@protected
void initState() {
super.initState();
KeyboardVisibilityNotification().addNewListener(
onChange: (bool visible) {
print(visible);
},
);
}
推荐阅读
- powershell - 使用 Powershell 对 CSV 数据进行分组和通过电子邮件发送
- exception - HP 通用打印驱动程序 (UPD) 7.0
- google-cloud-firestore - 错误:发生网络错误(如超时、连接中断或主机无法访问)
- airflow - 哪个性能更高:创建 1000+ DAG 或 1 DAG w/1000+ 任务?
- kotlin - 如何使用 ESC/POS 设置字符集?
- mobile - 我可以使用我编译的 Nativescript 项目继续构建原生应用程序吗?
- json - 如何在 Angular 中测试定期获取 json
- java - 从 OpenAPI 规范生成代码,包括示例和描述
- android - Cannot customize button when using Theme.MaterialComponents.DayNight.NoActionBar as theme
- jwt - 石墨烯 JWT 认证