关于屏幕尺寸引起的问题

1.屏幕尺寸获取

WindowManager wm = (WindowManager) sContext.getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
Point realSize = new Point();
display.getRealSize(realSize);
//这个拿到的是屏幕的真实尺寸,比如1080*1920
Point availableSize = new Point();
display.getSize(availableSize);或者
diswidth = getContext().getResources().getDisplayMetrics().widthPixels;
disheight = getContext().getResources().getDisplayMetrics().heightPixels;
//这两种方法拿到的是屏幕的实际可用尺寸,比如1080*1794,高度是去掉底部导航栏的高度,底部导航栏高度126`

2 遇到的问题(前提是有虚拟按键的手机)
比如使用popWindow的时候需要给他设置高度,如果用真实尺寸1920-offset,比如得到高度是1414的话,那么在8.0以下的手机上显示的效果是正确的,在8.0以上的手机上会发现比预想的偏上,这是因为绘制的时候,从上往下绘制,在8.0以下手机上,就算有虚拟按键,也会绘制到虚拟按键下面,即如果底部有文字的话会被虚拟按键盖住看不到,在8.0以上手机上,从上往下绘制,他并不会绘制到虚拟按键下面,发现popwindow高度比较高,屏幕不够画了,那么他会把offset重新计算一下,整体会往上偏,偏出虚拟按键的高度。
解决方法,不要使用屏幕真实尺寸来算高度,要使用屏幕可用高度计算popwindow高度,那么算出的高度画出来就能刚好从offset到底部导航栏,在所有手机上都不会有问题。

关于屏幕尺寸引起的问题相关推荐

  1. Android 获取屏幕尺寸与密度

    遇到一个问题,我的地图浮标图片在WVGA手机上正好,在QVGA上就显的太大,所以我要根据屏幕的不同调整浮标的大小使其在QVGA大小合适.有的同事提出了依据分辨率来区分不同的屏幕,但是单WVGA就支持好 ...

  2. vba 根据分辨率 缩放显示比例_【显示百闻录】第一讲:关于屏幕尺寸、比例以及分辨率...

    一 屏幕尺寸 即屏幕显示区域对角线长度换算成英寸后的数值,如常见的15.6英寸屏幕,屏幕对角线长度为15.6英寸,约为39.6cm. 15.6英寸显示器 市场上主流的笔记本屏幕一般分为13英寸到16英 ...

  3. android获取屏幕尺寸、密度

    http://developer.android.com/reference/android/util/DisplayMetrics.html DisplayMetrics metric = new ...

  4. Android---Android 屏幕尺寸与密度

    Android 屏幕尺寸与密度 2011-10-11 23:15:37|  分类: Android|字号 订阅 针对dip和px 的关系,做以下概述: HVGA屏density=160:QVGA屏de ...

  5. (0086)iOS开发之iPhone 屏幕尺寸、分辨率、ppi以及@2x@3x图

    iPhone 屏幕尺寸.分辨率 苹果设备尺寸不断增加,以往的适配越来越难以满足诸多机型,势必要使用安全区域来适配所有机型 Safe Area 苹果尺寸开发文档:https://developer.ap ...

  6. 0119吧 iPhone 屏幕尺寸

    1.iPhone尺寸规格 设备 iPhone 宽 Width 高 Height 对角线 Diagonal 逻辑分辨率(point) Scale Factor 设备分辨率(pixel) PPI 3GS ...

  7. android+note2+分辨率,魅蓝Note2的屏幕尺寸是多少?魅蓝Note2的分辨率是多少?

    魅蓝Note2的屏幕尺寸是多少 魅蓝Note2的屏幕尺寸是5.5英寸. 针对魅蓝Note2的屏幕尺寸是多少的问题,魅蓝Note2延续了前代产品的设计风格,但机身弧度进行了调整,厚度薄了0.2mm,手感 ...

  8. chrome 适配调试_终于明白怎么用Chrome开发适配各种移动端屏幕尺寸了

    都知道Chrome浏览器可以模拟真机尺寸,进行调试开发很方便,但是如果你的真机在预制的配置参数中没有,而且又不知道该输入什么尺寸参数,该怎么办? (我就是遇到了这样的问题,折腾了好几个小时,终于弄清楚 ...

  9. 为不同的屏幕尺寸提供不同的图片(为那些没有必要下载全尺寸大图的设备节省带宽)...

    为不同的屏幕尺寸提供不同的图片 现在我们可以让图片完美缩放,而且也知道了如何限制特定图片的显示尺寸.图片尺寸必须比其显示尺寸更大以保证渲染效果,否则的话图片可能看起来很糟糕.基于这个原因,图片文件的体 ...

  10. SAP Spartacus在某些屏幕尺寸下无法正常工作的原因分析

    有个使用SAP Spartacus的客户遇到一个问题: We are getting one issue in our Spartacus application (currently we are ...

最新文章

  1. 创建 OVS 外部网络 ext_net - 每天5分钟玩转 OpenStack(144)
  2. 角点检测:Harris角点及Shi-Tomasi角点检测
  3. wps如何自己制作流程图_自己如何制作APP软件
  4. JPA规范:一对多、一对一、多对多的双向关联与级联操作以及JPA联合主键
  5. 云原生背景运维转型之 SRE 实践
  6. linux github中文官网,GitHub使用简介
  7. LeetCode 1170. 比较字符串最小字母出现频次
  8. minitab怎么算西格玛水平_16:三因子二水平全因子实验设计和MINITAB应用训练
  9. socket.io框架学习
  10. 5G网络出现打乱传统网络范式,AI驱动+区块链能搞出啥新花样?
  11. C++进阶之函数模板
  12. 深入浅出通信原理MIMO合集
  13. php的substr函数的作用是,PHP substr函数的实现功能技巧讲解
  14. matlab lu分解求线性方程组_线性代数10——矩阵的LU分解
  15. opencv之图片处理看这一篇就够了(一)
  16. Halcon生成标定描述文件
  17. 关于小米 Mi4 手机的评测
  18. maven能帮我们做什么
  19. 数据库基本知识-总结
  20. Java常用类思维导图总结

热门文章

  1. 高并发之数十万甚至百万级qps吞吐量方案
  2. xmind 8 安装后启动失败
  3. 批处理注销计算机当前用户名,批处理实现重起和注销的指令是什么?
  4. 国际城市如何畅想未来交通
  5. quick-cocos2d-x可调试开发环境搭建(vs+babelua和vscode+luaide)
  6. 【JavaSE】抽象类和接口
  7. C语言读取文件函数:fgets(); fgetc()
  8. B2B-Destoon--注册会员公司名称修改方法
  9. 【Vue3】搭建vue3项目以及环境
  10. ios piv6遭拒绝