edittext点击获取焦点,并隐藏软键盘

这个在网上找了一些资料,发现这个可以

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);
            }
        });
里面工具类是我自己的,你们要自己写隐藏软键盘方法。

你可能感兴趣的:(Android,studio,Android开发,个人的解决方法)