Android中软键盘弹出时底部布局上移问题

参考链接1

参考链接2

在Android开发过程中会经常遇到的scrollview包含的布局中,当点击edittext时,弹出的软键盘经常会使在布局底部的控件顶起,此时的解决方案如下:

清单文件中将activity的类型修改为

  android:windowSoftInputMode="adjustPan|stateHidden
 
这样键盘就会覆盖屏幕。
通过实践发现方法一并没有起作用,查询资料得知我的布局是RelativeLayout,底部菜单用了android:layout_alignParentBottom="true",
因此方法一不起作用,
故采用方法二。

方法二:

在代码setContentView()之前加入:

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN|
WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);

亲测有效,另外还有一种通用的方法:

方法三

把顶级的layout替换成ScrollView,或者说在顶级的Layout上面再加一层ScrollView的封装。这样就会把软键盘和输入框一起滚动了,软键盘会一直处于底部。

你可能感兴趣的:(Android)