Android DPI

转载 2015年11月20日 16:42:28
先介绍术语
分辨率 比如小四的retina是960*640   galaxy note是1280*800 galaxy s2 hd lte是1280*720
尺寸 是指屏幕对角线长短 单位英寸 即吋 小四的retina是3.5 galaxy note是5.3  galaxy s2 hd lte是4.65
像素密度 dpi dots per inch缩写 即美英寸多少点
屏幕比例 屏幕长宽之比 小四的retina是3:2  galaxy s2 hd lte是16:9 这是安卓720p屏幕的标准比例关系

小四的retina
用勾股定理计算边长
(2x)*(2x)+(3x)*(3x)=3.5*3.5
x*x=3.5*3.5/13
x=0.9707
那么retina 屏幕 长度 3*0.9707 2.9121吋 宽度 2*0.9707 1.9414吋
                         dpi 960/2.9121 329.65dpi
苹果官方公布是326dpi 那么retina屏幕实际大小应该是3.53吋才能合理解释

假设横竖像素是等比例关系 那么dpi计算公式简化成
dpi=(√(横向分辨率^2+纵向分辨率^2))/屏幕尺寸
计算得出各种尺寸720p屏幕dpi值:

1280*720 4.00吋 367.15dpi
1280*720 4.30吋 341.53dpi
1280*720 4.50吋 326.34dpi
1280*720 4.65吋 315.83dpi
1280*720 5.00吋 293.72dpi
1280*800 5.30吋 284.80dpi

分辨率肯定越高显示效果越好 但是如果屏幕过小 像素密度超过人眼分辨能力就浪费了 人眼分辨能力其实是指视角 就是像素点距除以像素点到人眼虹膜的距离 密度小离眼睛远点就能达到同样效果 而且眼部肌肉会更放松 手持设备公认视网膜分辨极限是300dpi



如何计算屏幕DPI呢?

只要我们知道屏幕分辨率屏幕尺寸(对角线长度),就可以算出相应的屏幕密度,从而根据其范围得出属于那种屏幕密度。

我们可以根据长或者根据宽来计算出dpi,计算公式为:

DPI = 宽 / ((尺寸× 宽2) / (宽2 + 高2))1/2 = 长 / ((尺寸× 高2) / (宽2 + 高2))1/2

 

大概计算方法如下,以宽为例:

1.比如分辨率为320 × 480,则长宽比为1:1.5

2.比如屏幕尺寸为3.6”,则根据勾股定理有:

2 + 宽= 3.62

又因为,高 = 1.5 × 宽,代入上式,有:

2 + 2.25 × 宽2 = 12.96,

得出,宽 = (12.96/3.25)1/2 = 1.9969

3.宽为320px,分布在1.9969”上,因此密度为320 / 1.9969 = 160.2467

4.因此此密度约为mdpi的密度



Android Studio插件DPI插件

https://github.com/JerzyPuchalski/Android-DPI-Calculator 这个不同的dpi之间进行转化的。 本质上是根据,屏幕密度(Dens...
  • zhuhai__yizhi
  • zhuhai__yizhi
  • 2015年09月28日 09:40
  • 893

Android中常用单位(dpi、px、dp、sp)

1 dpi
  • lirui0822
  • lirui0822
  • 2014年08月05日 18:54
  • 3745

Android的px,dpi,dip三者的关系详解

px,dpi,dip 这三个东西大家都有了解,这3个都是单位,其中前2个单位在很多别的地方都有使用,但是dip这个单位是Android用来解决不同分辨率屏幕适配的一种方案,也就是大家熟知的dp。px全...
  • DanteStones
  • DanteStones
  • 2015年04月22日 11:34
  • 1148

android分辨率 尺寸 dpi换算

酷友观点/经验:UI设计师不可不知的安卓屏幕知识(原创文章)  系统分类: 设计文章 - 酷友观点/经验 - 工作技巧 文章版权:renkai 原创,如需商业用途或转载请与 renkai 联系,谢...
  • wawxf2008
  • wawxf2008
  • 2015年08月09日 20:31
  • 12972

修改android屏幕DPI

修改android 的DPI,屏幕采用IPS 原装屏。1024X768,由200dpi 调整为160dpi android/out/target/product/smdkv210/system v...
  • mk1111
  • mk1111
  • 2013年09月01日 16:12
  • 5510

学习android 笔记(4):如何获取屏幕的相关属性以及dp 、dip、dpi 、px的概念

DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); ...
  • lloyd0577
  • lloyd0577
  • 2016年06月05日 19:53
  • 775

android应用 DPI不同的适配问题分析

如何将一个应用程序适配在不同的手机上,虽然这不算是一个技术问题,但是对于刚刚做屏幕的开发人员来说,还真不是一件多么简单的事情。 首先:你需要在AndroidManifest.xml文件的元素如下...
  • scjie168
  • scjie168
  • 2016年05月26日 21:05
  • 185

Android-如何查看设备的dpi

1.在system/build.prop中查看ro.sf.lcd_density配置项即可。一英寸有多少个点儿? 我们用来density来分辨 ldpi 120dpi...
  • yangxuehui1990
  • yangxuehui1990
  • 2015年04月16日 17:29
  • 3007

获取手机屏幕密度dpi和对应的资源文件夹

1、首先看一下像素密度对应的Android资源文件夹 dpi范围 密度 0dpi ~ 120dpi ldpi 120dpi ~ 160dpi mdpi 160dpi ~ 240dp...
  • Android_qinglong
  • Android_qinglong
  • 2016年06月24日 16:26
  • 1319

Android-DPI-Calculator

转自:https://github.com/JerzyPuchalski/Android-DPI-Calculator Android-DPI-Calculator Android...
  • hr8610
  • hr8610
  • 2015年07月21日 14:01
  • 1528
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android DPI
举报原因:
原因补充:

(最多只允许输入30个字)