windowSoftInputMode:
adjustUnspecified :当软键盘弹出时,系统自动指定窗口的调整模式,根据不同的情况会选择adjustResize或者adjustPan的一种。(默认)
adjustPan : 当软键盘弹出时,会将主窗口的平移(translateY),来适应软键盘的显示。
adjustResize : 当软键盘弹出时,会让布局重新绘制,这种一般适应于带有滑动性质的控制,让其向下滚动,然后适应软键盘的显示。
adjustNoting: 当软键盘弹出时,主窗口不会做出任何反应。
原因分析:
当Activity设定为adjustPan模式时,点击编辑框时,软键盘弹出来。如果光标被软键盘挡住,那么整个屏幕往上平移,直至看到光标为止。
所以会出现这个现象:编辑框一部分被软键盘挡住,只有光标及其上边的部分不会被软键盘挡住。
解决办法:
当前Activity页面有可滑动的控件,把adjustPan改为adjustResize
android:windowSoftInputMode="stateHidden|adjustResize"