我在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";
但是我没有用软键盘做任何事情,我只是在旋转设备。这可能是个错误吗?
答案 0 :(得分:16)
我可以为您提供此日志的背景信息。 Android中存在一个错误,或者他们称之为缺少功能,但键盘显示或消失时不会抛出任何事件。这会导致Web应用程序出现问题,因为键盘缩短了屏幕尺寸。当屏幕尺寸变小时,您的UI会受到影响。
为了能够对PhoneGap Android中的键盘显示/隐藏作出反应,我们实现了LinearLayoutSoftKeyboardDetect,它基本上是一个LinearLayout,但它会对屏幕大小的变化作出反应。如果您旋转设备,宽度将变为高度,我们可以忽略更改,但如果高度变得非常小而宽度保持不变,则可以安全地假设显示了键盘并且我们抛出了显示键盘事件。当高度变得非常大而宽度保持不变时,我们抛出一个隐藏键盘事件。有意义吗?
答案 1 :(得分:1)
此实施似乎会影响情况 - >当弹出本机键盘时,它会缩小phonegap中的webview。再次改变。所以它倾向于忽略必要的事件。我想检测本机键盘完成按钮按下事件。