输入法遮挡问题
解决输入法遮挡的问题 基本上有两种
adjustResize+ScrollViewadjustPan
adjustPan会把页面整体上推
adjustResize则是缩放可调整页面 所以要和ScrollView配合 但是如果界面设成全屏模式就不会生效
解决方式
在非全屏模式(即状态栏不透明)下,将activity的windowSoftInputMode的属性设置为:adjustResize。同时在View的onSizeChanged(int w, int h, int oldw, int oldh)里可以得到变化后的尺寸,然后根据前后变化的结果来计算屏幕需要移动的距离。
即添加:
1  | android:windowSoftInputMode="adjustResize"  | 
但是在全屏模式下,即使将activity的windowSoftInputMode的属性设置为:adjustResize。
在键盘显示时它未将Activity的Screen向上推动,所以你Activity的view的根树的尺寸是没有变化的。
在这种情况下,你也就无法得知键盘的尺寸,对根view的作相应的推移。
全屏下的键盘无法Resize的问题从2.1就已经存在了,直到现在google还未给予解决。
有人已经封装好了该类,你只需引用就OK了,我们来看下这个类。
1  | public class SoftHideKeyBoardUtil {  | 
使用方法
在你的Activity的onCreate()方法里调用即可
1  | SoftHideKeyBoardUtil.assistActivity(this);  | 
注意:在
setContentView(R.layout.xxx)之后调用