这是最近项目的一个布局,红色框的Listview下有个按钮,所以选择嵌套在ScrollView里。那么问题来了,因为红色框之外还有很多的布局,所以导致在填写红色框下面的特征说明,弹出软键盘时,整个页面会往上顶,导致蓝色的标题不见了(如下图,注意黄色框),影响用户体验,所以得解决了。
百度之后,看一下网上流行的三个方法:
1.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN)。
2.在项目的AndroidManifest.xml文件中界面对应的<activity>里加入android:windowSoftInputMode="adjustPan"。
3.把外层的的layout替换成ScrollView。
以上三种方法均没用。
解决方法:
在外层的布局上添加属性:android:descendantFocusability=”blocksDescendants”
以下是添加后的效果图:(使用硬件版本是:华为M2)