我的 android 应用程序的预期效果是有一个带有输入框和内容的 webview。当用户点击键盘时,键盘会向上插入输入框,但不会调整主要内容的大小,只是覆盖在其上面,如下图所示。
我遇到的问题是键盘盖住了输入框,没有把它推上去。
目前这是一个 cordova android 应用程序。在 list 中,我已经配置
<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 配置为固定和绝对的(基本上绑定(bind)到 webview 的底部。
据我了解,当键盘从输入框中的编辑中弹出时,它也会将输入框向上推,因为输入框被限制在 webview 上,而 webview 也会被向上推。
任何建议表示赞赏, 谢谢,
最佳答案
Android 有一个我监听的键盘事件。当显示/隐藏被触发时,我捕获 Activity 的输入组件,并根据键盘高度的大小改变 y 轴上的框,这可以从监听器中的事件中获取。当节目被触发时,我变回原形。
注意:需要为android:windowSoftInputMode禁用调整大小并设置为“adjustPan”
关于Android webview键盘覆盖输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39627268/