InputMethodManager showSoftInput 方法
InputMethodManager showSoftInput method
class InputMethodManager 中的 showSoftInput 方法的用途是什么?我是 android 的新手,对我来说 documentation 不是很清楚 :
Explicitly request that the current input method's soft input area be shown to the user, if needed. Call this if the user interacts with your view in such a way that they have expressed they would like to start performing input into it.
据我了解,它会打开键盘,对吗?为什么要用这个方法,碰一个EditText不自动打开键盘??
不,触摸编辑文本不会自动打开软键盘。这只是默认行为。在引擎盖下,当您触摸编辑文本时会发生一系列事件。最终 Android 框架将在键盘的 IMS 上调用 showSoftInput。这是键盘决定它出于某种原因不想显示的机会,如果不显示则 return false。例如,我相信在 Swype,如果设备上的硬件键盘已经滑出,我们会忽略这一点以不显示键盘,理论上他们想使用硬件键盘。
大多数情况下,您要么在这里使用默认实现,要么做一些小检查然后回退到默认实现。
class InputMethodManager 中的 showSoftInput 方法的用途是什么?我是 android 的新手,对我来说 documentation 不是很清楚 :
Explicitly request that the current input method's soft input area be shown to the user, if needed. Call this if the user interacts with your view in such a way that they have expressed they would like to start performing input into it.
据我了解,它会打开键盘,对吗?为什么要用这个方法,碰一个EditText不自动打开键盘??
不,触摸编辑文本不会自动打开软键盘。这只是默认行为。在引擎盖下,当您触摸编辑文本时会发生一系列事件。最终 Android 框架将在键盘的 IMS 上调用 showSoftInput。这是键盘决定它出于某种原因不想显示的机会,如果不显示则 return false。例如,我相信在 Swype,如果设备上的硬件键盘已经滑出,我们会忽略这一点以不显示键盘,理论上他们想使用硬件键盘。
大多数情况下,您要么在这里使用默认实现,要么做一些小检查然后回退到默认实现。