KEYBOARD_12KEY、KEYBOARD_QWERTY和KEYBOARD_NOKEYS的 Android 软输入行



我想知道这里是否有人知道Android会在什么情况下向用户显示屏幕软键盘,以及Android如何考虑不同类型的可用硬件键盘(KEYBOARD_12KEYKEYBOARD_QWERTYKEYBOARD_NOKEYS(。

https://developer.android.com/reference/android/content/res/Configuration#keyboard

问题(第 1 部分( - 有人可以填写以下内容

吗请注意,??? = [show | hide | do nothing | other]

场景1(
用户点击AppCompatEditText并有KEYBOARD_NOKEYS,安卓会???软输入

场景2(
用户点击AppCompatEditText并有KEYBOARD_12KEY,安卓会???软输入

场景3(
用户点击AppCompatEditText并有KEYBOARD_QWERTY,安卓会???软输入

问题(第 2 部分(- 是否可以禁用此内置行为

现在您已经填写了??? = [show | hide | do nothing | other]的所有空白,是否可以禁用这些内置的Android行为?而是通过手动检测设备上的硬件键盘类型并在View.OnFocusChangeListener内显示/隐藏软键盘,将它们全部替换为自定义版本?

是否显示软键盘,其实是由软键盘决定的。 软键盘有一个函数InputMethodService.onEvaluateInputViewDisplay((。 当有机会显示软键盘时,将调用此函数。 如果返回 true,将显示键盘。 默认实现是查看硬件键盘是否存在,如果存在,则不显示。 但是软键盘无论如何都可以覆盖它以显示。

所有这些都完全取决于软键盘应用程序 - 无论他们使用哪种键盘(因此行为可以根据用户喜欢的键盘而改变(。 没有其他任何东西可以覆盖它。

最新更新