如何检查软键盘是否已在设备上打开

本文关键字:是否 键盘 何检查 检查 | 更新日期: 2023-09-27 17:55:48

我必须检测软键盘是否被打开。 我在这里阅读了一些关于如何做到这一点的文章,一个例子是>这个

我在这里的问题是,这一切都是 Java 代码,我无法对 Java 代码做任何事情,因为我不知道 API 的 Monodroid 等价物,以及其他一些小事情......

我想出的安托尔是,有一个InputMethodService.OnWindowShowed()方法/事件,以及一个标识符,无论键盘是否显示。

var inputManager = (InputMethodService)GetSystemService(InputMethodService);
inputManager.OnWindowShown();
bool bla = inputManager.IsInputViewShown;

有没有办法确定键盘是否被打开,使用这些行,或者我必须做调整大小的事情? 如果调整大小是唯一的事情,那么它在 Android 版 Mono 中是如何工作的?

如何检查软键盘是否已在设备上打开

您无法检测是否显示软键盘,但您可以通过知道活动视图的大小来间接知道显示软键盘。
这 2 行隐藏了软键盘。.

var input = (InputMethodManager)GetSystemService(InputMethodService);
input.HideSoftInputFromWindow(editText1.WindowToken, HideSoftInputFlags.None);

也可以看到..

  • Android.InputMethodServices.InputMethodService.InputMethodImpl.HideSoftInput