最近做聊天界面时,点击底部的EditTextView时弹出的键盘框把EditTextView给挡住了,显然不符合预期。查询资料发现了有如下三种解决方案:
在项目的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的封装。这样就会把软键盘和输入框一起滚动了,软键盘会一直处于底部。
原文:http://wosyingjun.iteye.com/blog/2271951