KEYBOARD_12KEY,KEYBOARD_QWERTY和KEYBOARD_NOKEYS的Android软输入行为

问题描述 投票:0回答:1

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

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

Question (PART 1) - Could someone please fill out the following

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

场景1) 用户点击AppCompatEditText并拥有KEYBOARD_NOKEYS,Android将???软输入

场景2) 用户点击AppCompatEditText并拥有KEYBOARD_12KEY,Android将???软输入

场景3) 用户点击AppCompatEditText并拥有KEYBOARD_QWERTY,Android将???软输入

Question (PART 2) - Is it possible to disable this built-in behavior

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

android android-softkeyboard android-input-method android-hardware-keyboard
1个回答
1
投票

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

所有这一切完全取决于软键盘应用程序 - 无论他们使用哪种键盘(因此行为可以根据用户喜欢的键盘而改变)。没有别的办法可以覆盖它。

© www.soinside.com 2019 - 2024. All rights reserved.