关闭键盘后查看重绘位置错误 - Cordova/PhoneGap - Android

Mik*_*ant 5 keyboard android view angularjs cordova

我有一个Cordova应用程序(使用angularjs框架),这是我的观点:

在此输入图像描述

当我关注一个输入时,需要视图向上移动以在(屏幕上)键盘显示时保持输入可见:

在此输入图像描述

当我将焦点从输入更改为其他位置(模糊)时,键盘会关闭(就像它应该),但会将视图重绘为错误的位置:

在此输入图像描述

当我使用Chrome进行检查时,它会显示所有位置的元素,而不是它们在显示屏上的位置:

在此输入图像描述

我完全不知道是什么导致了这个错误,我已经尝试重新绘制onDraw方法中的视图,从而无限地重新绘制视图以查看是否会修复它但无济于事.有任何想法吗?

额外细节
Cordova版本:3.5.0-0.2.4
设备:Nexus 10 - Android 4.4.4

小智 0

通过将以下“hack”添加到我的提交按钮代码中,我能够解决我们应用程序上的问题。

$('html, body').scrollTop(0);
$('#usernamefield').blur();
$('#passwordfield').blur();
$('#loginform_submit').blur();
Run Code Online (Sandbox Code Playgroud)

因此,我强制 html 和 body 元素滚动到最顶部,并确保没有元素具有焦点,这样软键盘实际上会在继续之前消失。

希望这也对您有帮助。

/米卡