最近,在项目开发中遇到带虚拟按键屏幕适配的问题。例如,华为P9、小米MAX等机型,整个屏幕的布局都往上了,觉得应该是虚拟按键的问题。所以,经过一番折腾,找到如下解决方案:

  • 获取屏幕实际显示尺寸高度
//获取屏幕尺寸,不包括虚拟功能高度
getWindowManager().getDefaultDisplay().getHeight();
  • 获取屏幕原始尺寸高度
 private int getHeight() {int dpi = 0;Display display = getWindowManager().getDefaultDisplay();DisplayMetrics dm = new DisplayMetrics();Class c;try {c = Class.forName("android.view.Display");@SuppressWarnings("unchecked")Method method = c.getMethod("getRealMetrics", DisplayMetrics.class);method.invoke(display, dm);dpi = dm.heightPixels;} catch (Exception e) {e.printStackTrace();}return dpi;}

经过两个高度对比,就可以得到虚拟按键的高度。 带虚拟键盘的屏幕分辨率是1920*1080,但实际上他是识别真实高度((1920-虚拟键盘高度)*1080)。

解决:
可以写一套特定尺寸dimens文件。例如,华为p9的虚拟按键的高度为120px。那就可以再加一套values-1800X1080,把1920X1080复制到 values-1800X1080里面就可以了。完美解决!

屏幕适配之带虚拟按键手机屏幕适配相关推荐

  1. android+中国+比例,2015年中国智能手机屏幕DPI区间关注比例、手机屏幕占比及手机操作系统情况分析【图】...

    一.屏幕DPI区间关注比例情况分析 400-449dpi机型最受关注 从手机屏幕DPI来看,2015年度,400-449dpi的手机关注度最为集中,达到36.11%.其次为300dpi以下产品,获得2 ...

  2. 手机屏幕测试软件有用吗,屏幕到底有问题吗:手机屏幕检查Display Tester

    屏幕到底有问题吗:手机屏幕检查Display Tester软件名称:Display Tester 软件版本:3.12.00 软件大小:6.99MB 软件授权:免费 适用平台:Android 确保了手机 ...

  3. Android11通知不唤醒屏幕,Android11更新,支持多种手机屏幕,部分用户已经收到更新通知...

    Android 11正式版更新了,谷歌这次更新对于层出不穷的屏幕来说,应用将会更广泛.此次更新支持瀑布屏,折叠屏,双屏. 瀑布屏是全面屏的一种,是将全面屏左右两侧扩展的更大,几乎达到90度,就像瀑布飞 ...

  4. android 虚拟按键自定义,如何适配Android底部虚拟按键

    前言 本文章只做一个记录,一个备忘,也为了更好的帮助他人,文章参考地址:Android适配底部虚拟按键的方法 问题说明 项目进行中需要透明渐变的状态栏,全屏显示,当然透明渐变好弄,方法有很多,但是如果 ...

  5. 安卓沉浸式状态栏适配底部导航虚拟按键

    安卓沉浸式状态栏适配有底部导航虚拟按键 如图 未适配和适配的两种效果图 代码实现 1.首先在onCreate()中 //适配底部导航虚拟栏if (StatusBarUtil.hasNavigation ...

  6. 这是最简单解决Android适配之【虚拟按键遮挡布局】

    最近开发项目有个适配的小问题,在用android studio 开发程序的时候发现一个问题,虚拟按键会遮挡布局,在6.0.1的系统中虚拟按键会挡住布局,特别是华为手机和小米底部会有虚拟按键等,而在6. ...

  7. Android适配页面底部虚拟按键

    想全面了解解决方案不妨看下这两篇文章: https://blog.csdn.net/smileiam/article/details/69055963 https://blog.csdn.net/we ...

  8. Android适配页面底部虚拟按键,解决与软键盘冲突,AndroidBug5497Workaround

    想全面了解解决方案不妨看下这两篇文章: https://blog.csdn.net/smileiam/article/details/69055963 https://blog.csdn.net/we ...

  9. iQOO 8首次采用三星E5屏幕:2021年最好的手机屏幕

    昨日下午,iQOO手机官方微博发布预告片,宣告iQOO新旗舰iQOO 8系列即将登场.在预告片中,iQOO表示新旗舰的屏幕让人过目不忘,纤毫毕现. 据了解,iQOO 8系列采用的是三星E5 LTPO显 ...

最新文章

  1. Python操作Firefox
  2. 冬奥冠军武大靖也有减重烦恼,还为此发了篇论文
  3. nginx设置 二级域名 指定端口
  4. Trie可持久化Trie
  5. HDU 1133 Buy the Ticket
  6. ERP必须基于企业流程管理
  7. 大型企业网络构建之网关冗余
  8. strcpy_s函数
  9. JS输入银行卡号,4位自动加空格 ,根据银行卡号获取开户行和银行
  10. 2020-12-18
  11. 微信如何关闭城市服务定位服务器,位置定位微信(怎么悄悄的查对方位置)
  12. Tensorflow物体检测(Object Detection)
  13. EXCEL中阿拉伯数字版转成汉语大写代码
  14. 超详细 CentOS7 安装 卸载mysql数据库
  15. 什么是Ajax和JSON?它们各有的优缺点
  16. windows查看json文件的软件
  17. MySQL学习笔记:等值查询、范围查询、死锁、间隙锁的本质
  18. 大疆文档(1)-介绍-概念
  19. 电子商务计算机和英语作文,电子商务英语作文
  20. 无法web服务器上启动调试 未能启动asp.net,.net - 无法在Web服务器上启动调试。 无法启动ASP.NET调试VS 2010,II7,Win 7 x64...

热门文章

  1. PS里我的为什么创建剪贴蒙板后图片不见了?(包好用)
  2. 浮动,高度塌陷,清除浮动
  3. Trends in Neurosciences:通过脑振荡的夹带调节人类记忆
  4. R语言绘制美国疫情地图(可交互式)
  5. Fabric 搭建测试网络并部署智能合约
  6. Fabric 2.x链码之综合应用
  7. 圆台下料展开计算方法_小锥角大圆台的准确下料法
  8. 在清华讲区块链,高晓松竟这样解读共识与Token
  9. php mac 开发环境搭建_Mac搭建php的开发环境(图文详解)
  10. 学习笔记(01):学校网管员培训视频教程-以太网的发展