Android监听键盘是否弹出,以及获取软键盘的高度

来源:互联网 发布:mysql with as 用法 编辑:程序博客网 时间:2024/06/05 05:53
et.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener(){            //当键盘弹出隐藏的时候会 调用此方法。            @Override            public void onGlobalLayout() {                Rect r = new Rect();                //获取当前界面可视部分                MainActivity.this.getWindow().getDecorView().getWindowVisibleDisplayFrame(r);                //获取屏幕的高度                int screenHeight =  MainActivity.this.getWindow().getDecorView().getRootView().getHeight();                //此处就是用来获取键盘的高度的, 在键盘没有弹出的时候 此高度为0 键盘弹出的时候为一个正数                int heightDifference = screenHeight - r.bottom;                Log.d("Keyboard Size", "Size: " + heightDifference);            }        });

使用起来很简单只需判断键盘高度是否为0 就可以知道键盘是否弹出了。

getDecorView() 获取的是整个应用的view 包括标题栏,但是不包括状态栏,r.top就是状态栏的高度。

0 0
原创粉丝点击