我想知道这里是否有人知道Android会在什么样的场景中向用户展示屏幕上的软键盘,以及Android如何考虑不同类型的可用硬件键盘(KEYBOARD_12KEY、KEYBOARD_QWERTY和KEYBOARD_NOKEYS)。
https://developer.android.com/reference/android/content/res/Configuration#keyboard
问题(第一部分)-请有人填写以下内容
请注意,??? = [show | hide | do nothing | other]
(设想1)
用户点击AppCompatEditText并有KEYBOARD_NOKEYS,Android将???软输入
(设想2)
用户点击AppCompatEditText并有KEYBOARD_12KEY,Android将???软输入
(设想3)
用户点击AppCompatEditText并有KEYBOARD_QWERTY,Android将???软输入
问题(第2部分)-可以禁用这种内置行为吗?
现在您已经填补了??? = [show | hide | do nothing | other]的所有空白,是否有可能禁用这些内置的安卓行为?而是用自定义版本替换它们,方法是手动检测设备上的硬件键盘类型,并在View.OnFocusChangeListener中显示/隐藏软键盘。
发布于 2018-09-04 06:38:46
是否显示软键盘实际上是由软键盘决定的。软键盘有一个InputMethodService.onEvaluateInputViewShown().函数当有机会显示软键盘时,将调用此函数。如果返回true,则将显示键盘。默认实现是查看硬件键盘是否存在,如果存在则不显示。但软键盘可以覆盖显示。
所有这些都完全取决于软键盘应用程序--无论他们使用哪种键盘(因此行为可以根据用户喜欢的键盘而改变)。其他任何东西都无法覆盖它。
https://stackoverflow.com/questions/52159207
复制相似问题