小米手机设备相关
判断是否小米设备
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全屏
虚拟按键显示
高宽正常
全面屏显示
获取的虚拟按键高度+获取的实际宽度 >屏幕实际宽度 ,而
获取的状态栏高度+ 获取的实际宽度 = 屏幕实际宽度

本文详细介绍了如何判断设备是否为小米手机及是否为全面屏模式,解决了红米6Pro等小米设备在全面屏手势模式下屏幕高度获取不准确的问题。通过检测虚拟按键状态,确保应用程序在不同屏幕配置下正常运行。
623

被折叠的 条评论
为什么被折叠?



