在Android开发中一定会涉及到UI界面的设计,不过为了UI的美观,还是要遵循一定的规则,其中不同型号手机的屏幕适配是一定要明白的;而做屏幕适配像素是一定要明白原理的,比如:什么是px、dpi ppi dp的区别又是怎样的(笔记)
四种屏幕尺寸分类:small.normal,large,xlarge
四种密度分类:ldpi,mdpi,hdpi,xhdpi
1、什么是分辨率
分辨率就是屏幕水平方向上的像素 乘以 屏幕垂直方向的像素(物理像素综合),分辨率并不意味着具体的屏幕长宽比,单位为px;
比如,某部手机 的分辨率是 1080 x1980
2、ppi
Pixel per inch,每英寸像素数,为像素密度,单位:像素/英寸
3、dpi
Dot per inch,每英寸像素点,为像素密度,单位:像素/英寸
dpi=根号下(屏幕的水平像素的平方+屏幕垂直方向像素的平方)/屏幕英寸数
4、dp
dip device independent pixels,,密度独立像素
使用不同密度的屏幕显示一致的UI元素通过密度无关的方式来描述布局尺寸和位置(这个在Android中是可以自动屏幕适配的)
在程序运行时,系统根据屏幕的实际密度透明的处理任何需要缩放的密度独立像素单元,密度独立像素转换成屏幕实际像素的换算很简单:dp=(dpi/(160像素/英寸))px
倍图:
在Android开发中为了方便,将主流设备分为了mdpi hdpi xhdpi xxhdpi xxxhdpi五大类
通过计算可以得出,一般情况下:
360px 宽的屏幕为mdpi(1倍图 @1x) 320x480
480px 宽的屏幕为hdpi(1.5倍图 @1.5x) 480x800
720px 宽的屏幕为xhdpi(2倍图 @2x) 720x960
1080px 宽的屏幕为xxhdpi(3倍图 @3x) 1080x1920
1440px 宽的屏幕为xxxhdpi(4倍图 @4x)