欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

android 监听软键盘的弹出与隐藏

程序员文章站 2022-04-19 23:11:20
...

首先在activity定义一个全局变量isHide =  true;

然后在onCreate方法中调用addSoftInputListener();

/**
     * 监听软键盘显示隐藏
     */
    private void addSoftInputListener() {
        final View decorView = getWindow().getDecorView();
        decorView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
            @Override
            public void onGlobalLayout() {
                Rect rect = new Rect();
                decorView.getWindowVisibleDisplayFrame(rect);
                int displayHight = rect.bottom - rect.top;
                int hight = decorView.getHeight();

                if (displayHight > hight / 3 * 2) {
                    if(!isHide){  //此参数可防止多次执行打印“键盘隐藏”
                        Log.i("ssss","键盘隐藏");
                    }
                    isHide = true;
                } else {
                    if (isHide){
                        Log.i("ssss","键盘显示");
                    }
                    isHide = false;
                }
            }
        });
    }


上一篇: 让老娘逛街吧

下一篇: 人和西游记