android 获取屏幕的物理尺寸
计算方法:获取到屏幕的分辨率:point.x和point.y,再取出屏幕的DPI(每英寸的像素数量),计算长和宽有多少英寸,即:point.x / dm.xdpi,point.y / dm.ydpi,屏幕的长和宽算出来了,再用勾股定理,计算出斜角边的长度,即屏幕尺寸。
/*** 得到屏幕的物理尺寸,由于该尺寸是在出厂时,厂商写死的,所以仅供参考* 计算方法:获取到屏幕的分辨率:point.x和point.y,再取出屏幕的DPI(每英寸的像素数量),* 计算长和宽有多少英寸,即:point.x / dm.xdpi,point.y / dm.ydpi,屏幕的长和宽算出来了,* 再用勾股定理,计算出斜角边的长度,即屏幕尺寸。* @param context* @return*/public static double getPhysicsScreenSize(Context context){WindowManager manager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);Point point = new Point();manager.getDefaultDisplay().getRealSize(point);DisplayMetrics dm = context.getResources().getDisplayMetrics();int densityDpi = dm.densityDpi;//得到屏幕的密度值,但是该密度值只能作为参考,因为他是固定的几个密度值。double x = Math.pow(point.x / dm.xdpi, 2);//dm.xdpi是屏幕x方向的真实密度值,比上面的densityDpi真实。double y = Math.pow(point.y / dm.ydpi, 2);//dm.xdpi是屏幕y方向的真实密度值,比上面的densityDpi真实。double screenInches = Math.sqrt(x + y);return screenInches;}
注意: 此处displayMetrics不要使用context.getApplicationContext().getResources().getDisplayMetrics()来获取。
上面说到,DPI是由设备出厂时写死到设备里的,如果写入的DPI值不准确,当然计算不出准确的屏幕尺寸。这也是友盟统计里没有屏幕尺寸这一项的原因吧,所以计算出的屏幕尺寸只做参考。
android 获取屏幕的物理尺寸相关推荐
- android获取屏幕的物理尺寸
/** * @ 获取当前手机屏幕尺寸 */ public static float getPingMuSize(Context mContext) {int densityDpi = mContext ...
- Android 获取屏幕大小以及尺寸
在Android开发中,获取手机屏幕像素的方法有多种.在这里,我仅仅做一个小小的总结,将这些方法分为两类.一类是使用Activity类来获取,另一类便是使用上下文(Context)来获取. /*** ...
- android获取键盘状态,Android获取屏幕方向及键盘状态的小例子
Android获取屏幕方向及键盘状态的小例子 复制代码 代码如下: Configuration config = getResources().getConfiguration(); if (conf ...
- android获取屏幕尺寸,像素
public void getScreen(){// 通过Activity类中的getWindowManager()方法获取窗口管理,再调用getDefaultDisplay()方法获 取获取Disp ...
- Windows下用Python获取电脑显示器物理尺寸和PPI
Windows下用Python获取电脑显示器物理尺寸和PPI 背景 PPI 和 DPI Python获取PPI 方法一(WMI) 方法二(WINREG) 方法三(WMI+WINREG) 总结 背景 最 ...
- android 获取屏幕的宽高
今天,讲讲android如何获取屏幕的宽高. // 通过WindowManager获取 DisplayMetrics dm = new DisplayMetrics(); getWindowManag ...
- android获取屏幕像素密度DPI、density、屏幕宽高
获取手机屏幕像素密度 dpi DisplayMetrics metrics = new DisplayMetrics(); getActivity().getWindowManager().getDe ...
- python如何获取图片的尺寸_如何基于Python获取图片的物理尺寸
如何基于Python获取图片的物理尺寸 这篇文章主要介绍了如何基于Python获取图片的物理尺寸,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 问题 ...
- Android 获取屏幕尺寸与密度
遇到一个问题,我的地图浮标图片在WVGA手机上正好,在QVGA上就显的太大,所以我要根据屏幕的不同调整浮标的大小使其在QVGA大小合适.有的同事提出了依据分辨率来区分不同的屏幕,但是单WVGA就支持好 ...
最新文章
- 适合入门代码审计之熊海cms
- .Net深入学习序列化和反序列化 (转)
- android刷新时的圆形动画_Android动画篇(一):圆形进度条CircleProgressBar
- One2One主键关联的实现
- linux开机自动ZFS,linux – 为什么重新启动导致我的ZFS镜像的一面成为UNAVAIL?
- 视频识别车牌号(Python)
- NOI / 1.3编程基础之算术表达式与顺序执行——12:计算球的体积
- Winmerge教程,包括可视化补丁,差异,合并示例
- 一个机械研究生在计算机与机械之间的徘徊与思考-(下)之填坑
- SEO优化:什么是SEO链轮?站群与博客群的优劣比较!
- Wear OS手表应用开发教程之-创建应用
- typedef——用法总结
- ARTS-第二周(2019.07.08)
- esp32c3 crash分析
- 计算机信息技术五大变革,信息技术及其影响教学设计
- AI扮演Linux虚拟机,能管理文件编程开浏览器,还能跟自己「套娃」聊天 | ChatGPT新玩法...
- 计算机毕业设计Java银杏湖景区旅游管理信息平台(源码+系统+mysql数据库+Lw文档)
- 深入 delphi (转)
- 计算机技术在油气储运工程的应用,浅谈自动化技术在油气储运工程中的应用
- sap MM移动类型配置科目问题
热门文章
- [MySQL]学生表、教师表、课程表、授课表、成绩表的多表查询案例(1)
- fork()函数与vfork()函数的区别
- 【tomcat 端口占用启动失败】The Tomcat connector configured to listen on port xx failed to start
- Windows优化大师之驱动智能备份
- Intel 网卡驱动问题
- 如果你的男朋友是学计算机的,有一个学计算机的男朋友是种怎样的体验?
- VM虚拟机:找不到文件解决办法
- 美国大选这天,我们有个新孩子出生了
- 仿iphone输入法_如何在iPhone上的法氏温度和摄氏温度之间切换
- 变频器,逆变器工作原理