我经常在 LogCat 中看到这条调试信息。例如,在滑动或旋转设备时。模拟器随后不会对事件使用react。什么意思?
需要在模拟器上测试旋转,但在某些版本上,当我按 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 应用程序出现问题,因为键盘会缩短屏幕尺寸。当屏幕尺寸变小时,您的用户界面就会受到影响。
为了能够对 PhoneGap Android 中的键盘显示/隐藏使用react,我们实现了 LinearLayoutSoftKeyboardDetect,它基本上是一个 LinearLayout,但它会对屏幕尺寸的变化使用react。如果旋转设备,宽度变为高度,我们可以忽略变化,但如果高度显着变小而宽度保持不变,则可以安全地假设显示了一个键盘,我们抛出一个显示键盘事件。当高度显着变大而宽度保持不变时,我们抛出隐藏键盘事件。有道理吗?
关于Android 软键盘检测 : Ignore this event what does it mean?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9333689/