Android webview键盘覆盖输入

时间:2016-09-21 22:04:07

标签: android css cordova android-softkeyboard adjustpan

我的Android应用程序所需的效果是拥有一个带有输入框和内容的webview。当用户点击键盘时,键盘会向上推动输入框,但不会调整主要内容的大小,只是覆盖在其上面,如下图所示。

enter image description here

我遇到的问题是键盘覆盖了输入框并且没有将其推起。

这是目前的cordova android应用程序。在清单中,我已经配置了

 <activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/activity_name" android:launchMode="singleInstance" android:name="GigJam" android:theme="@android:style/Theme.DeviceDefault.NoActionBar" android:windowSoftInputMode="adjustPan">

同样在config.xml中:

   <preference name="Fullscreen" value="false" />

我使用android:windowSoftInputMode =“adjustPan”来防止屏幕调整大小,这是我想要的,因为我不希望内容被压扁。我也尝试将输入框的css配置为固定和绝对(基本上绑定到webview的底部。

根据我的理解,当键盘从输入框中的编辑弹出时,它会向上推动框,因为输入框被限制在webview中,也会被推高。

任何建议表示赞赏, 谢谢, d

3 个答案:

答案 0 :(得分:1)

Android有一个我听的键盘事件。当触发显示/隐藏时,我抓住活动的输入组件并将y轴中的框转换为键盘高度的大小,该大小可以从侦听器中的事件中获取。当节目被触发时我会变换回来。

注意:需要为android:windowSoftInputMode禁用resize并设置为&#34; adjustPan&#34;

答案 1 :(得分:0)

使用此行:

getActivity()
    .getWindow()
    .setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);

答案 2 :(得分:0)

在AndroidManifest.xml中使用网络视图向活动添加android:windowSoftInputMode="adjustResize"

例如:

<activity
    android:name=".MainActivity"
    android:windowSoftInputMode="adjustResize" />