Android webview 键盘覆盖输入
Android webview keyboard covering up input
我的 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 上,而 webview 也会被向上推。
任何建议表示赞赏,
谢谢,
D
Android 有一个我听的键盘事件。当 show/hide 被触发时,我抓取活动输入组件并根据键盘高度的大小变换 y 轴上的框,这可以从侦听器中的事件中抓取。当节目被触发时,我变回原形。
注意:需要为 android:windowSoftInputMode 禁用调整大小并设置为 "adjustPan"
使用这一行:
getActivity()
.getWindow()
.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
将 android:windowSoftInputMode="adjustResize"
添加到 activity 以及 AndroidManifest.xml
中的 webview
例如:
<activity
android:name=".MainActivity"
android:windowSoftInputMode="adjustResize" />
我的 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 上,而 webview 也会被向上推。
任何建议表示赞赏, 谢谢, D
Android 有一个我听的键盘事件。当 show/hide 被触发时,我抓取活动输入组件并根据键盘高度的大小变换 y 轴上的框,这可以从侦听器中的事件中抓取。当节目被触发时,我变回原形。
注意:需要为 android:windowSoftInputMode 禁用调整大小并设置为 "adjustPan"
使用这一行:
getActivity()
.getWindow()
.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
将 android:windowSoftInputMode="adjustResize"
添加到 activity 以及 AndroidManifest.xml
例如:
<activity
android:name=".MainActivity"
android:windowSoftInputMode="adjustResize" />