软键盘弹出后布局上移

AndroidManifest属性设置:

键盘直接覆盖,不让屏幕上移:

Android:windowSoftInputMode="adjustPan|stateHidden"/>

这样会让屏幕整体上移:

Android:windowSoftInputMode="stateVisible|adjustResize"

这样键盘就会覆盖屏幕:
Android:windowSoftInputMode="adjustPan"

方法一:
在项目的AndroidManifest.xml文件中界面对应的里加入android:windowSoftInputMode="adjustPan"这样键盘就会覆盖屏幕。
通过实践发现方法一并没有起作用,查询资料得知我的布局是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的封装。这样就会把软键盘和输入框一起滚动了,软键盘会一直处于底部。

你可能感兴趣的:(软键盘弹出后布局上移)