相关概念
屏幕尺寸、屏幕分辨率、屏幕像素密度。
dp、dip、dpi、sp、px 是什么,以及相关联系。
mdpi、hdpi、xdpi、xxdpi 是什么,如何计算和区分。
屏幕尺寸
屏幕对角线的长度,单位是英寸,1英寸 = 2.54厘米
比如常见的屏幕尺寸有:5.0、5.5、6.0
屏幕分辨率
在横纵向上的像素点数总和,单位是 px ,1px = 1 个像素点
如1080x1920:宽度方向上有1080个像素点,高度方向上1920个像素点
UI 设计师会以 px 作为统一的单位
屏幕像素密度
每英寸的像素点数,单位是 dpi
假如一英寸里面有 160 个像素,这个屏幕密度就是 160dpi;
在 Android 中,规定以 160dpi 为基准,1dp = 1px;如果屏幕密度为 320 dpi,1dp = 2px ,以此类推。
安卓手机对于每类手机屏幕大小都有一个相应的屏幕像素密度:
密度类型 | 分辨率px | 像素密度dpi |
中密度 mdpi | 320x480 | 120 |
高密度 hdpi | 480x800 | 240 |
超高密度 xhdpi | 720x1280 | 320 |
吵吵高密度 xxhdpi | 1080x1920 | 480 |
密度无关像素
dp / dip ,与终端上的实际物理像素点无关,可以保证不同设备上显示相同的效果。
在 Android 中,规定以 160dpi 为基准,1dp = 1px;如果屏幕密度为 320 dpi,1dp = 2px ,以此类推。
独立比例像素
sp ,Android 中一般用 sp 设置字体的大小。
比较常用的有: 12sp、14sp、16sp、18sp、20sp、22sp
奇数和小数容易造成精度的丢失问题,用户可以在设备中选择字体的小、中、大。