最近,在项目开发中遇到带虚拟按键屏幕适配的问题。例如,华为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. 浅析 JavaScript 中的 函数 uncurrying 反柯里化
  2. 目标反射回波检测算法及其FPGA实现 之一:算法概述
  3. 基于多种转换语义的图数据库查询
  4. redis数据结构详解之Hash(四)
  5. Bootstrp--一个导航面板切换的实用例子
  6. 判断一个数组中的值是否在另一个数组中
  7. python exit 0_python中 os._exit() 和 sys.exit(), exit(0)的用法和区别
  8. 基于I2C协议的EEPROM驱动控制
  9. [ SAP ]MM Valuation System
  10. Project Euler Problem 104 Pandigital Fibonacci ends
  11. arduino nano引脚_使用直流电机和RF模块nRF24L01制作Arduino遥控小车
  12. 解密360黑幕:离职奇虎360老员工的告白
  13. 研究生学习生活日记——第十三次组会
  14. python的自省到底有什么用
  15. Day03 BSP工程师小白的第一步-------今天开始正式学C语言
  16. JAVA-正则表达式匹配教程 使用正则表达式匹配字符串 截取匹配到的字符串
  17. JavaWeb视频教程
  18. Apache服务器的搭建与配置
  19. lvds屏幕的数据手册如何看
  20. Google Earth Engine(GEE)—— Landsat7和8的2000-2021年的影像土地分类的下载和视频导出

热门文章

  1. 智慧养老之居家养老解决方案
  2. HALCON: 内存管理(Memory Management)
  3. CSDN markdown icon 图标
  4. 抽象代数之12阶群的五种结构
  5. 北京心理测试软件公司,Inquisit | 心理学实验软件
  6. ecu故障现象_汽车重要传感器的常见故障及表现,出现这些问题可能是传感器损坏...
  7. 树莓派挂载斐讯K3上SMB共享的移动硬盘文件
  8. [Erlang]如何使用NIF
  9. 多线程线程执行先后顺序
  10. 变形金刚4 高清完整版强势来袭 走起!