全面屏手机(mate20pro)获取屏幕宽高出错问题

yjw1997 2019-03-29 02:28:39
在下小白一枚 最近用mate20pro测试程序的时候发现代码中获取屏幕宽高的数值不正确 屏幕是3120×1440的 但是获得的宽高却是2265×1080 百度了一下有的说是因为全面屏手机的系统状态栏和虚拟导航栏 但是数值差距过大 应该也不是这个原因 有大佬知道这是为什么吗?
...全文
220 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
yjw1997 2019-03-29
  • 打赏
  • 举报
回复
引用 1 楼 韩曙亮的回复:
应该是 8.0 以上系统的 全面屏 留海屏 异形屏 配置 问题 ;

1. 先看一下 关于 屏幕的配置 : 每个应用 都可以设置 不同的配置

//默认情况,全屏页面不可用刘海区域,非全屏页面可以进行使用
public static final int LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT = 0;
//不允许使用刘海区域
public static final int LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER = 2;
//允许页面延伸到刘海区域
public static final int LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES = 1;

2. 打开开发者 模式 中 的 显示指针 , 查看 具体 触摸的 坐标位置 , 进行对比

参考 :
1. https://www.jianshu.com/p/f8711854bc8a?appinstall=0
2.https://mini.eastday.com/bdmip/180411011257629.html
找到原因了 原来是这手机有个智能分辨率功能 开启后默认分辨率是中等 2340X1080 尴尬。。。 不过也多谢你的回答 全面屏适配会用得到
韩曙亮 2019-03-29
  • 打赏
  • 举报
回复
应该是 8.0 以上系统的 全面屏 留海屏 异形屏 配置 问题 ;

1. 先看一下 关于 屏幕的配置 : 每个应用 都可以设置 不同的配置

//默认情况,全屏页面不可用刘海区域,非全屏页面可以进行使用
public static final int LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT = 0;
//不允许使用刘海区域
public static final int LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER = 2;
//允许页面延伸到刘海区域
public static final int LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES = 1;

2. 打开开发者 模式 中 的 显示指针 , 查看 具体 触摸的 坐标位置 , 进行对比

参考 :
1. https://www.jianshu.com/p/f8711854bc8a?appinstall=0
2.https://mini.eastday.com/bdmip/180411011257629.html

80,472

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧