首页 > 解决方案 > Flutter 键盘检测可见性

问题描述

我想检测键盘是否可见。我可以实现在其他 stackoverlfow 线程上建议的黑客攻击:

bool keyboardvisible = MediaQuery.of(context).viewInsets.bottom > 0;

这适用于 Android,但在 iOS 上,无论键盘是否可见,这个底部属性似乎总是​​返回 0。

有没有更好的方法来检测在两个平台上都有效的键盘可见性?

谢谢约翰

标签: flutter

解决方案


这个插件会帮助你。它为 iOS 和 Android 的可见性变化提供了一个监听器。

示例代码:

import 'package:keyboard_visibility/keyboard_visibility.dart';

@protected
void initState() {
  super.initState();

  KeyboardVisibilityNotification().addNewListener(
    onChange: (bool visible) {
      print(visible);
    },
  );
}

推荐阅读