小米手机设备相关
判断是否小米设备
public static boolean isXiaoMi(){
return Build.MANUFACTURER.equals("Xiaomi");
}
判断小米是否全面屏
// 判断小米全面屏手机的虚拟按键是否显示,也就是判断是否为全面屏 true 为全面屏,前提是小米手机
public static boolean isXiaoMiShowNavatior(Context context) {
boolean isFull = Settings.Global.getInt(context.getContentResolver(), "force_fsg_nav_bar", 0) != 0;
Log.i("isFull", "" + isFull);
return isFull;
}
小米全面屏高度问题
机型(遇到的):红米6Pro
高度
问题描述:在虚拟按键模式下,获取高度没有问题,但是在全面屏手势模式下,实际获取的高度是 实际高度-虚拟 按键(NavigationBar)高度,这个时候虚拟按键是不可见的
解决方式:先判断是否是小米手机,如果是小米手机,并且隐藏了NavigationBar,就在获取到的高度基础上加上NavigationBar的高度
上述问题,在竖屏状态下我没遇到过
横屏状态
Activity设置Theme全屏
虚拟按键显示
高宽正常
全面屏显示
获取的虚拟按键高度+获取的实际宽度 >屏幕实际宽度 ,而
获取的状态栏高度+ 获取的实际宽度 = 屏幕实际宽度