在使用EditText时,经常会碰到需要软键盘输入时,挡住了输入框或者是登陆按钮,这对于用户的体验是非常不好的。
一般的做法是通过OnGlobalLayoutListener来监听界面变化来调整,但是往往调整效果不是很佳,没有QQ和微信那样的效果。
Github的一个开源工具
SoftKeyBoardAdapter,提供了一个比较精确的界面调整工具。依据上面的Demo,效果还是不错的
地址:https://github.com/Heleninsa/SoftKeyBoardAdapter
按照上面的Usage把工具类
DisplayUtil.java 和
SoftHideKeyBoardUtil.java 下载导入工程中
在Activity 的 onCreate 方法中调用
SoftHidKeyBoardUtil.assisActivity即可
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
View root = findViewById(R.id.activity_main_container);
SoftHideKeyBoardUtil.assistActivity(this, root);
}
Github上Demo图如下