------> https://blog.csdn.net/zhaokaiqiang1992/article/details/45419023 ;这一篇网文内容详尽 布局
屏幕尺寸指屏幕的对角线的长度,单位是英寸,1英寸=2.54厘米测试
好比常见的屏幕尺寸有2.四、2.八、3.五、3.七、4.二、5.0、5.五、6.0等字体
屏幕分辨率是指在横纵向上的像素点数,单位是px,1px=1个像素点。通常以纵向像素*横向像素,如1960*1080。.net
屏幕像素密度是指每英寸上的像素点数,单位是dpi,即“dot per inch”的缩写。屏幕像素密度与屏幕尺寸和屏幕分辨率有关,在单一变化条件下,屏幕尺寸越小、分辨率越高,像素密度越大,反之越小。设计
px咱们应该是比较熟悉的,前面的分辨率就是用的像素为单位,大多数状况下,好比UI设计、Android原生API都会以px做为统一的计量单位,像是获取屏幕宽高等。blog
dip和dp是一个意思,都是Density Independent Pixels的缩写,即密度无关像素,上面咱们说过,dpi是屏幕像素密度,假如一英寸里面有160个像素,这个屏幕的像素密度就是160dpi,那么在这种状况下,dp和px如何换算呢?在Android中,规定以160dpi为基准,1dip=1px,若是密度是320dpi,则1dip=2px,以此类推。图片
假如一样都是画一条320px的线,在480*800分辨率手机上显示为2/3屏幕宽度,在320*480的手机上则占满了全屏,若是使用dp为单位,在这两种分辨率下,160dp都显示为屏幕一半的长度。这也是为何在Android开发中,写布局的时候要尽可能使用dp而不是px的缘由。ip
而sp,即scale-independent pixels,与dp相似,可是能够根据文字大小首选项进行放缩,是设置字体大小的御用单位。开发
其实以前还有个ldpi,可是随着移动设备配置的不断升级,这个像素密度的设备已经很罕见了,所在如今适配时不需考虑。get
mdpi、hdpi、xdpi、xxdpi用来修饰Android中的drawable文件夹及values文件夹,用来区分不一样像素密度下的图片和dimen值。
那么如何区分呢?Google官方指定按照下列标准进行区分:
名称 | 像素密度范围 | 像素转换 | 分辨率 |
---|---|---|---|
mdpi | 120dpi~160dpi | 1dp = 1px | 320 x 480 |
hdpi | 160dpi~240dpi | 1dp = 1.5px | 480 x 800 |
xhdpi | 240dpi~320dpi | 1dp = 2px | 720 x 1280 (720P) |
xxhdpi | 320dpi~480dpi | 1dp = 3px | 1920 x 1080 (1080P) |
xxxhdpi | 480dpi~640dpi | 1dp = 4px | 3840 x 2160 (4K) |