gpt4 book ai didi

android - 关闭键盘后在错误的位置重新绘制 View - Cordova/PhoneGap - Android

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:14:45 25 4
gpt4 key购买 nike

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

enter image description here

当我聚焦一个需要 View 向上移动以在(屏幕上)键盘显示时保持输入可见的输入时,如下所示:

enter image description here

当我将焦点从输入更改到其他地方(模糊)时,键盘关闭(就像它应该的那样)但在错误的位置重新绘制 View :

enter image description here

当我用 Chrome 检查时,它显示所有元素在它们应该在的位置,而不是它们在显示器上的位置:

enter image description here

我完全不知道是什么导致了这个错误,我尝试在 onDraw 方法中重绘 View ,因此无限重绘 View 以查看是否可以修复它但无济于事。有任何想法吗?

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

最佳答案

我找到了一个修复/hack,虽然不是很好,但总比没有好。

通过隐藏 html 标签然后重新显示它可以正确重绘 View 。

 fixAndroidKitkatDisplayBug: function () {
$(document).on('blur', 'input', function () {
var htmlTags = document.getElementsByTagName('html');
var html = htmlTags[0];
html.style.display = 'none';
html.offsetHeight; // no need to store this anywhere, the reference is enough
html.style.display = 'block';
});
}

然后在 index.js 中,在“onDeviceReady”之后我这样调用这个方法

setTimeout(function (){
if (typeof(device) != 'undefined' && device.platform && device.platform == "Android" && device.version && parseFloat(device.version) == 4.4) {
fixAndroidKitkatDisplayBug();
}
}, 100);

(对我来说,我需要 setTimeout 才能定义设备)

关于android - 关闭键盘后在错误的位置重新绘制 View - Cordova/PhoneGap - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25176867/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com