代码之家  ›  专栏  ›  技术社区  ›  AlanSTACK

键盘12键、键盘QWERTY键和键盘NOKEYS键的Android软输入行为

  •  0
  • AlanSTACK  · 技术社区  · 7 年前

    我想知道这里是否有人知道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 而且已经 ,Android将 ??? 软输入

    场景2)
    用户单击 而且已经 键盘\u 12键 ,Android将 ??? 软输入


    用户单击 键盘\u QWERTY ,Android将 ???

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

    既然你已经填完了 ,是否可以禁用这些内置的Android行为?取而代之的是,通过手动检测设备上的硬件键盘类型并显示/隐藏设备中的软键盘,将它们全部替换为自定义版本 View.OnFocusChangeListener ?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Gabe Sechan    7 年前

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