您的位置:首页 > 移动开发 > Android开发

Android屏幕适配相关(px,dp,dpi等)

2015-10-24 15:31 274 查看
Android屏幕适配相关(px,dp,dpi等)

首先明确一点,就是屏幕的物理组成。一般的屏幕是由一个一个正方形的色块(可以理解成小灯)组成,叫像素,这里我们且将其称作色块吧。平时我们所说的1024*768、1920*1080等的分辨率,就是说屏幕的长和宽分别由那么多色块组成。

下面的概念是有层次关系的,后者是在前者的定义下产生的。


px:一个px就是我们前面所说的一个色块。对于Android这种碎片化比较严重的操作系统,这个单位是不推荐使用的,因为在不同的分辨率移动设备上会有完全不一样的显示效果。

屏幕大小(英寸):现在我们所用的移动设备,屏幕设备都会有4.0或者5.0、5.5英寸等的说法,意思是屏幕对角线的长度,1英寸约等于2.54厘米。

dpi:像素密度。1英寸里像素(小色块)的多少。这里有一点要注意,这里的1英寸不是指的屏幕长和宽上的1英寸,而是对角线的1英寸能容纳的像素量。举个栗子:

一个手机的分辨率是1920*1080,屏幕大小为5.5英寸,它的dpi是多少?

首先求出它对角线的像素量,这是一个约数,勾股定理求1920*1080的斜边约是2202.9,即对角线大约容纳了2202.9个像素点,而对角线是5.5英寸的,所以1英寸的像素量,也就是dpi为:2202.9/5.5=400.53。

dp:这个单位是有一定基础的,就是在160dpi下,1px等于1dp,按比例增长,比如,320dpi的屏幕下,1dp等于2px,401dpi时,1dp等于2.5px。

在开发过程中我们还会用到sp这个单位,Android的官方文档中推荐使用12sp,14sp、18sp、22sp的文字大小,尽量不要使用奇数,因为在转换的过程中可能会有截断误差。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: