项目过程中遇到一个奇怪的bug,第一次点击Edittext时键盘正常弹出无遮挡,第二次点击时输入框被遮挡。经过排查最终找到问题在于同时设置了inputType和gravity或者同时设置singleLine和gravity。
解决办法一:(不推荐)
1、放弃同时使用singleLine和gravity改为使用maxLength 和 gravity;
2、用numeric代替inputtype
解决办法二:(推荐)
加入以下代码:
final WindowManager.LayoutParams attributes = getWindow().getAttributes();
getWindow().getDecorView().addOnLayoutChangeListener(new View.OnLayoutChangeListener() {
@Override
public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) {
getWindow().setAttributes(attributes);
}
});
目前测试没有问题,有bug望留言,谢谢