当前位置: 首页> 教育> 锐评 > 【Android】全局手写输入导致区域无法点击

【Android】全局手写输入导致区域无法点击

时间:2025/7/10 1:11:09来源:https://blog.csdn.net/u013718730/article/details/141016705 浏览次数:0次
场景

现在平板系统基本都配置了全局手写输入功能

在有焦点的控件上,可以直接通过手写笔来替代键盘

但是手写笔有一个问题,就是点击输入框外部无法自动关闭输入状态

这时我们一般会自己去处理触摸事件,来关闭输入状态

一般会调用以下方法

override fun dispatchTouchEvent(ev: MotionEvent?): Boolean {binding.editText.clearFocus()InputMethodManager.hideSoftInputFromWindow()return super.dispatchTouchEvent(ev)
}
问题

部分系统的手写功能存在BUG,即控件清除焦点后,手写区域仍然会存在

这样点击该区域的按钮,焦点会被手写输入功能,导致按钮无法点击(通过手写笔)

方案

不清除焦点,而是禁用控件

override fun dispatchTouchEvent(ev: MotionEvent?): Boolean {binding.editText.isEnabled = falsebinding.root.post {binding.editText.isEnabled = true}return super.dispatchTouchEvent(ev)
}

如果是在Adapter中,可以禁用后再刷新Adapter,在onBind中重新启用EditText

关键字:【Android】全局手写输入导致区域无法点击

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: