添加链接描述```
/**
* 屏幕真实高度
* @return
*/
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
public int getRealMetrics() {
WindowManager windowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
Display display = windowManager.getDefaultDisplay();
DisplayMetrics dm = new DisplayMetrics();
display.getRealMetrics(dm);
return dm.heightPixels;
}
/**
* 屏幕高度(如果有虚拟键盘 获取到的就不是屏幕的真实高度)
* @return
*/
public int getMetrics() {
WindowManager windowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
Display display = windowManager.getDefaultDisplay();
return display.getHeight();
}
/**
* DecorView高度(一般情况下等于屏幕高度;在有对话框的情况下,高度就是对话框的高度--因为对话框会重新依附在一个新的window上)
* @return
*/
public int getDecorHeight() {
return this.getWindow().getDecorView().getHeight();
}
/**
* 获取屏幕可视区域的高度(受到系统状态栏、虚拟键盘、软键盘的影响)
* 如果屏幕为全屏状态, 则rect.top=0
* 如果屏幕不为全屏状态,且layout.heght为WindowManager.LayoutParams.WRAP_CONTENT或某一个值,则rect.top值会等于系统状态栏和窗口重叠区域的高度,如果没有重叠,则rect.top=0
*
*
* @return
*/
public int getVisibleHeight() {
Rect rect = new Rect();
this.getWindow().getDecorView().getWindowVisibleDisplayFrame(rect);
return rect.bottom;
}
``
参考:https://blog.csdn.net/ccpat/article/details/55224475