输入焦点的Android软键盘问题
我有一个关于android softkeyboard重叠输入字段时的问题。 我尝试了各种解决方案,但无济于事。 我的应用程序是使用phonegap构建的我试图将android:windowSoftInputMode更改为各种解决方案,但一切都不起作用。 这些是我爱的问题
1)除非键入,否则登录屏幕输入字段在聚焦时不会聚焦在屏幕中央。 这是当android:windowSoftInputMode =“adjustPan”时。
2)如果android:windowSoftInputMode =“adjustResize”,输入字段确实进入屏幕的中心,但只有输入时才会出现,这也打破了键盘向上推动的底部导航栏的布局。
有人对我应该做什么有任何建议吗?
我有同样的问题。 这是一个解决方法:
安装com.ionic.keyboard插件
在你的config.xml中设置它
<preference name="fullscreen" value="true" />
将此添加到您网页的底部
<div id="kbs" class="keyboardspace"></div>
给周围的元素ID“框架”
将此添加到您的CSS
.keyboardspace {
width: 100%;
height: 0;
}
现在注册这两个事件监听器(我在这里使用jquery,但它也应该可能没有)
var window = angular.element($window);
window.on('native.keyboardshow', function (e) {
$("#kbs").height(e.keyboardHeight);
var focus = $(document.activeElement);
var pos = focus.offset();
var bottom = pos.top + focus.height() + 10;
var maxpos = $($window).height() - e.keyboardHeight;
if (bottom > maxpos) {
$("#frame").scrollTop(bottom - maxpos);
}
});
window.on('native.keyboardhide', function () {
console.log("native.keyboardhide");
$("#kbs").height(0);
});
请注意,该框架必须可以滚动才能正常工作。
您在Softkeyboard.java中使用此代码:
@override
public void onComputeInsets(Insets outInsets){
super.onComputeInsets(outInsets);
if(!isFullscreenMode()){
outInsets.contentTopInsets = outInsets.visibleTopInsets;
}
}
链接地址: http://www.djcxy.com/p/24237.html