如何获取SoftInputMode的值

时间:2014-01-23 12:47:53

标签: android cordova android-softkeyboard

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

  • 如果我将SoftInputMode设置为adjustResize,我的内容就会启动 键盘因位置显示/隐藏时闪烁:已修复 绝对的。

  • 如果我把它设置为adjustPan它解决了我的闪烁,但我有一个问题 使用键盘覆盖输入的表单,您无法滚动 或点击其他任何地方隐藏键盘。

  • 这可以通过添加高于100%的高度来解决,但我不知道 如果键盘不可见,则要滚动页面。

  • 我想解决它的一种方法是听取网址更改以及是否更改 匹配到我的表单页面,将模式设置为adjustResize,否则为 将其设置为adjustPan。

  • 我希望能够知道当前值而不是设置它 如果不需要更改,则每个网址的值都会发生变化。

欢迎其他解决方案。

这是我目前的代码:

@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);
}

2 个答案:

答案 0 :(得分:8)

这会有用吗?

getWindow().getAttributes().softInputMode

答案 1 :(得分:1)

试试这个:

$urlRouterProvider.otherwise('/start');

$stateProvider
  .state('start', {
    url: '/start'
  });