android 自定义键盘,如何避免系统键盘弹出?

题目描述

使用 keyboard 来自定义键盘,使用时,EditText 获取焦点时会弹出系统键盘,如何避免系统键盘的弹出

题目来源及自己的思路

反射设置 setShowSoftInputOnFocus 方法无效,设置输入类型为 InputType.TYPE_NULL 可以不显示系统键盘,但是无法显示光标。

你期待的结果是什么?

需要不弹出系统键盘,还能显示光标。

阅读 4.2k
1 个回答
  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            editText.showSoftInputOnFocus = false
        } else {
            try {
                EditText::class.java.getMethod("setShowSoftInputOnFocus", Boolean::class.java)
                    .apply {
                        isAccessible = true
                        invoke(editText, false)
                    }
            } catch (e: Exception) {
                editText.inputType = InputType.TYPE_NULL // 不会显示输入光标
            }
        }
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题