android - 如何获取 SoftInputMode 的值

标签 android cordova android-softkeyboard

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

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

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

  • 这可以通过添加大于 100% 的高度来解决,但我没有 如果键盘不可见,想滚动页面。

  • 我想到的解决它的一种方法是监听 url 变化,如果它 与我的表单页面匹配以将模式设置为 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);
}

最佳答案

这行得通吗?

getWindow().getAttributes().softInputMode

关于android - 如何获取 SoftInputMode 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21308634/

相关文章:

android - 如何以编程方式为 TextView 或基于 Android 的应用程序的 TableRow 添加边距?

android - ListView 滚动问题

android - 任务 ':app:processDebugResources' 执行失败。在 ionic / Cordova

android - 将图像保存在本地存储phonegap中

ios - 为 Phonegap 3.1 (iOS) 安装插件时出错

java - 带有 scrollView 的键盘

android - 在 Android 中创建自定义键盘

onJsAlert 不响应水龙头后的 Android webview

xml - findViewById() 为布局 XML 中的自定义组件返回 null,而不是其他组件

android - 使用软键盘查看移动,阻止其他 UI 对象