/**
* 是否开启全面屏
*
* @return
*/
public boolean isFullScreen() {
int val = Settings.Global.getInt(this.getContentResolver(), getFullScreenSettingName(), 0);
return val != 0;
}
/**
* 根据设备获取全面屏设置名称
*
* @return
*/
public static String getFullScreenSettingName() {
String brand = Build.BRAND;
if(TextUtils.isEmpty(brand)) return "navigationbar_is_min";
if (brand.equalsIgnoreCase("HUAWEI")) {
return "navigationbar_is_min";
} else if (brand.equalsIgnoreCase("XIAOMI")) {
return "force_fsg_nav_bar";
} else if (brand.equalsIgnoreCase("VIVO")) {
return "navigation_gesture_on";
} else if (brand.equalsIgnoreCase("OPPO")) {
return "navigation_gesture_on";
} else {
return "navigationbar_is_min";
}
}
/**
* 获取导航栏高度
* @param context
* @return
*/
public int getBottomHeight(Context context) {
int resourceId = context.getResources().getIdentifier("navigation_bar_height", "dimen", "android");
logger.info("height = " + context.getResources().getDimensionPixelSize(resourceId));
return context.getResources().getDimensionPixelSize(resourceId);
}
判断全面屏是否开启,如果开启并且会覆盖到app上,那么获取导航栏高度,在页面底部显示一个view,并动态设置其高度为导航栏高度。