我有一个带有表格的活动。因为表单很长,所以我使用了滚动视图。
问题是当键盘启动时滚动视图不会改变。键盘与滚动视图的最后部分重叠。
如何确保键盘位于滚动视图下方,并且调整滚动视图以适应其上方的空间?
同时,有没有办法确保“上一个”和“下一个”按钮也在键盘上?
我有一个带有表格的活动。因为表单很长,所以我使用了滚动视图。
问题是当键盘启动时滚动视图不会改变。键盘与滚动视图的最后部分重叠。
如何确保键盘位于滚动视图下方,并且调整滚动视图以适应其上方的空间?
同时,有没有办法确保“上一个”和“下一个”按钮也在键盘上?
在应用程序的清单文件中,将以下内容添加到所需的<activity />
--
android:windowSoftInputMode="stateAlwaysHidden|adjustResize|adjustPan"
您需要在 AndroidManifest.xml 文件中添加android:windowSoftInputMode="adjustResize" 。
如果你使用片段,你只需要使用代码来控制它,如下所示
context.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
对于,我喜欢在文件ScrollView
中使用以下软输入方式:Activity
AndroidManifest.xml
android:windowSoftInputMode="adjustPan"
在其他选项中,这对我来说最有效。
请注意,如果您使用的是 CoordinatorLayout,请确保设置 android:fitsSystemWindows="false" 以使其适用于“adjustResize”
上面的答案还不够!
看这篇文章
https://code.luasoftware.com/tutorials/android/move-layout-when-keyboard-shown/
<ScrollView ... android:layout_height="fill_parent" android:fillViewport="true" android:fitsSystemWindows="true" />
<activity ... android:windowSoftInputMode="stateHidden|adjustResize" />
它对我有用