我的Android应用程序所需的效果是拥有一个带有输入框和内容的webview。当用户点击键盘时,键盘会向上推动输入框,但不会调整主要内容的大小,只是覆盖在其上面,如下图所示。
我遇到的问题是键盘覆盖了输入框并且没有将其推起。
这是目前的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
答案 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" />