输入焦点的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

上一篇: Android softkeyboard issue with input in focus

下一篇: Android RecyclerView Edittext issue