如何获取SoftInputMode的值

Tes*_*est 3 android android-softkeyboard cordova

我在使用带有软键盘的Android Phonegap应用程序时遇到了一些问题.

  • 如果我将SoftInputMode设置为adjustResize,当键盘显示/隐藏时,我的内容会因位置:固定和绝对而开始闪烁.

  • 如果我将它设置为adjustPan它解决了我的闪烁,但我遇到了一个问题,键盘覆盖了我的输入,你不能滚动或点击任何其他地方隐藏键盘.

  • 这可以通过添加大于100%的高度来修复,但如果键盘不可见,我不想滚动页面.

  • 我想解决它的一种方法是监听网址更改,如果它与我的表单页面匹配,则将模式设置为adjustResize,否则将其设置为adjustPan.

  • 我希望能够知道当前值,如果不需要更改,则不在每个URL更改上设置此值.

欢迎其他解决方案.

这是我目前的代码:

@Override
public void onPageFinished(WebView view, String url) {
   //Implement your code
   if(url.lastIndexOf("/pagewithform") != -1) {
      getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
   } else {
      getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
   }
   super.onPageFinished(view, url);
}
Run Code Online (Sandbox Code Playgroud)

Y2i*_*Y2i 8

这会有用吗?

getWindow().getAttributes().softInputMode
Run Code Online (Sandbox Code Playgroud)