这个在网上找了一些资料,发现这个可以
https://www.cnblogs.com/niupi/p/6251663.html
加上这段就行:
//监听软键盘是否显示或隐藏 mReplayRelativeLayout.getViewTreeObserver().addOnGlobalLayoutListener( new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { Rect r = new Rect(); mReplayRelativeLayout.getWindowVisibleDisplayFrame(r); int screenHeight = mReplayRelativeLayout.getRootView() .getHeight(); int heightDifference = screenHeight - (r.bottom); if (heightDifference > 200) { //软键盘显示 // changeKeyboardHeight(heightDifference); } else { //软键盘隐藏 } } });
但是这个在切换焦点时候不行,就是如果上门已经有个edittext先弹出键盘,再点击后面这个就也会有软键盘,加个获取焦点监听就行了
/** * 获取焦点时候隐藏软键盘 */ tvRecheckCode.setOnFocusChangeListener(new View.OnFocusChangeListener() { @Override public void onFocusChange(View v, boolean hasFocus) { DeviceUtils.closeKeyboard(tvRecheckCode,Recheck.this); } });里面工具类是我自己的,你们要自己写隐藏软键盘方法。