我经常在LogCat中看到此调试消息.例如,在滑动或旋转设备时.然后,仿真器不对事件做出反应.这是什么意思?
需要在仿真器上但在某些版本上测试旋转,当我按CTRL F12或CTRL F11时,什么都没有发生(嗯,设备作为一个整体旋转,但不旋转屏幕),并且在日志中看到此消息.我也找不到任何与谷歌…
好的,这是特定于PhoneGap的.我在PhoneGap的源代码中找到了一些东西:
/**
* We are providing this class to detect when the soft keyboard is shown
* and hidden in the web view.
*/
class LinearLayoutSoftKeyboardDetect extends LinearLayout {
private static final String TAG = "SoftKeyboardDetect";
但是我没有使用软键盘做任何事情,只是旋转设备.也许是个错误?
解决方法:
我可以为您提供此日志的背景. Android中存在一个错误,或者他们可能会称其为缺少功能,但显示或消失键盘时不会引发任何事件.由于键盘缩短了屏幕尺寸,因此给Web应用程序带来了问题.当屏幕尺寸变小时,您的用户界面会受到影响.
为了能够在Android的PhoneGap中对键盘显示/隐藏做出反应,我们实现了LinearLayoutSoftKeyboardDetect,它基本上是LinearLayout,但是它对屏幕尺寸的变化做出反应.如果旋转设备,则宽度变为高度,我们可以忽略该更改,但是如果高度显着变小而宽度保持不变,则可以安全地假定显示了一个键盘,并且抛出了show keyboard事件.当高度显着变大而宽度保持不变时,我们将引发隐藏键盘事件.说得通?