在开发过程中,假如我们要从底部弹出一个popwindow,这时候我们需要考虑获取实际显示的虚拟键高度。
期望:
全面屏下
1.1 开启全面屏开关-返回0
1.2 关闭全面屏开关-执行非全面屏下处理方式
非全面屏下
2.1 没有虚拟键-返回0
2.2 虚拟键隐藏-返回0
2.3 虚拟键存在且未隐藏-返回虚拟键实际高度
/**
* 获取虚拟按键的高度
* 1. 全面屏下
* 1.1 开启全面屏开关-返回0
* 1.2 关闭全面屏开关-执行非全面屏下处理方式
* 2. 非全面屏下
* 2.1 没有虚拟键-返回0
* 2.1 虚拟键隐藏-返回0
* 2.2 虚拟键存在且未隐藏-返回虚拟键实际高度
*/
public static int getNavigationBarHeightIfRoom(Context context) {
if(navigationGestureEnabled(context)){
return 0;
}
return getCurrentNavigationBarHeight(((Activity) context));
}
/**
* 全面屏(是否开启全面屏开关 0 关闭 1 开启)
*
* @param context
* @return
*/
public static boolean navigationGestureEnabled(Context context) {
int val = S