自认为这是目前计算键盘高度中,比较好的方法,因此特别做些记录,分享给大家
et.getViewTreeObserver().addOnGlobalLayoutListener(newOnGlobalLayoutListener(){
//当键盘弹出隐藏的时候会 调用此方法。@OverridepublicvoidonGlobalLayout() {
Rect r=newRect();//获取当前界面可视部分MainActivity.this.getWindow().getDecorView().getWindowVisibleDisplayFrame(r);//获取屏幕的高度intscreenHeight = MainActivity.this.getWindow().getDecorView().getRootView().getHeight();//此处就是用来获取键盘的高度的, 在键盘没有弹出的时候 此高度为0 键盘弹出的时候为一个正数intheightDifference = screenHeight -r.bottom;
Log.d("Keyboard Size", "Size: " +heightDifference);
}
});