最近做一个界面时,点击底部的 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的封装。这样就会把软键盘和输入框一起滚动了,软键盘会一直处于底部。
本文作者为wosyingjun,转载请注明。