Android - 在Android 8上隐藏键盘

sud*_*281 16 android kotlin

我在Android 8上隐藏键盘时遇到了麻烦.我之前使用过它,它适用于较旧的机器人:

    val view = activity.currentFocus
    if (view != null) {
        val imm = activity.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
        imm.hideSoftInputFromWindow(view.windowToken, 0)
    }
Run Code Online (Sandbox Code Playgroud)

Android 8只是忽略了它并且无论如何都显示了键盘.可能使输入字段不可聚焦会有所帮助,但我真的需要它可以集中精力,所以这不是一个选择.

Ste*_*han 5

代替hideSoftInputFromWindow您可以使用toggleSoftInput

val imm: InputMethodManager = getSystemService(Activity.INPUT_METHOD_SERVICE) as InputMethodManager
if (imm.isActive)
     imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0)
Run Code Online (Sandbox Code Playgroud)

至少在模拟器上适用于Android 8