Android软键盘弹出时如何实现ScrollView在键盘后方滚动?
解决方案
1. 配置AndroidManifest.xml
在对应Activity的声明节点添加属性:android:windowSoftInputMode="adjustResize"
2. 修复布局问题
你当前布局的核心异常点是嵌套了两层ScrollView、ConstraintLayout高度配置错误,直接导致滑动失效、布局挤压重叠,按以下步骤修改即可:
- 把外层ScrollView包裹的
ConstraintLayout的android:layout_height属性从0dp改为match_parent - 完全删除内层的
ScrollView标签,仅保留其内部的FrameLayout结构,避免两层ScrollView产生滑动冲突 - 把
FrameLayout的android:layout_height属性从0dp改为match_parent
效果说明
修改完成后:
- 软键盘弹出时系统会自动调整Activity可用窗口高度,底部的保存按钮会自动顶在软键盘顶部,不会被遮挡
- 整体页面可正常滚动,顶部标题区域不会被挤压上移,也不会出现视图重叠的问题
- 完全符合你要的「视图位置保持原有逻辑、滚动到底部时按钮刚好在键盘顶部」的需求
内容的提问来源于stack exchange,提问作者andrewedgar
相关产品推荐
相关产品推荐

