Android 适配不同分辨率屏幕

为了查看方便,特意贴一段 Google API 文档:http://developer.Android.com/intl/zh-cn/guide/practices/screens_support.html



近期做些关于手机适配的工作。

下面来总结一下,希望可以对大家有帮助,本人能力有限,如果有解释失误的地方,请务必帮忙指出,谢谢。


首先引入几个概念。


PPI : Pixels Per Inch的缩写简称,表示的是每英寸显示屏所拥有的像素(pixel)数目。

DPI : Dots Per Inch , 最初用于衡量打印物上每英寸的点数密度,就是说你的打印机可以在一英寸内打多少个点。

DPI用来表示输出设备的输出精度,如打印机,显示器

DPI表示的是 像点/英寸(每英寸长度上有多少个打印点或像点)

PPI用来表示输入设备的输入精度,如扫描仪,数码相机

PPI表示的是 像素/英寸(每英寸长度上有多少个像素)


显然,在谈到Android设备屏幕时,用DPI 比较合适,官方文档中也是用DPI来说明的。当然,如果有人说成PPI,也并不妨碍理解,只是这种说法不太准确。

关于如何计算DPI ,下面我们拿三星S3为例。

根据三星官网给的 信息:

The S III's HD Super AMOLED display measures 4.8 inches (120 mm) on the diagonal. With a 720×1280-pixel (720p) resolution, its pixel per inch (PPI, a measure of pixel density) is a relatively high 306。

我们可知:分辨率为 720x1280(高宽比为16:9) , 4.8英寸 , 306dpi。

那么,这个dpi是如何计算出来的呢?


由于对角线长为4.8英寸,我们要计算对角线上一共有多少像素点。

勾股定理可知:斜对角线的像素点 =   


进而求每英寸的像素点个数,即 (在Android中,大家把PPI 和 DPI 看成一个东西即可)

这么计算后可知,三星S3的DPI = 306. 即,该手机每英寸有306个像素点。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值