最近公司的 Android 设备准备进行硬件升级,谈及屏幕时,大家对于相关的一些知识点具有不同的认知。因此我搜集了互联网上关于 Android 手机屏幕的相关资料,总结、记录、分享于此。
分辨率
屏幕尺寸
屏幕尺寸指屏幕对角线的长度,单位:英寸
1 英寸 = 2.54 厘米
屏幕比例
屏幕比例为手机屏幕的纵横比(高宽比)
屏幕比例值等于分辨率比例值,即 16 / 9 = 2560 / 1440
当今智能手机主流屏幕比例为 16 : 9 约等于 1.7777777778
-
也有非主流的:
屏幕比例 代表产品 1 : 1 黑莓 Passport、Motorola ME511 1 : 1 圆屏 Motorola Aura R1 4 : 3 LG Optimus Vu 3 : 2 iPhone4S 15 : 9 魅族 MX3 2 : 1 酷派 9930、坚果 Pro2 屏幕尺寸相同的前提下:屏幕比例越大,屏幕越瘦越高,可视面积越小;反之越矮越胖越大
分辨率
分辨率指屏幕在纵横向上的像素点数,单位 px,1px = 1 个像素点
2560 * 1440 的屏幕即纵向有 2560 个像素点,横向有 1440 个像素点
-
智能手机历史上的主流标准有:
电脑标准 分辨率 比例 代表产品 HVGA 480 * 320 3 : 2 三星 S5830 WVGA 800 * 480 5 : 3 中兴 V880 qHD 960 * 540 16 : 9 Moto XT910 HD 1280 * 720 16 : 9 小米 2S Full HD 1920 * 1080 16 : 9 Moto X2 WQHD 2560 * 1440 16 : 9 Nexus 6 QFHD 3840 * 2160 16 : 9 Xperia Z5 Premium
像素密度
像素密度指屏幕每英寸上的像素点数
像素密度单位为:dpi 或 ppi,两者基本可以通用
dpi 即 dots per inch,用于打印或印刷领域,为描述打印物上每英寸上点的密度
ppi 即 pixels per inch,用于电脑显示领域,用于描述屏幕上每英寸上像素点的数量
手机屏幕宽度(以英寸为单位) * ppi = 手机屏幕宽度上的像素点数
如 Nexus6 的 2.92(inch) * 493(ppi) = 1440(px)
Android 中常见的像素密度
名称 | 范围 | 对应比例 |
---|---|---|
mdpi | 120dpi - 160dpi | 1 |
hdpi | 160dpi - 240dpi | 1.5 |
xhdpi | 240dpi - 320dpi | 2 |
xxhdpi | 320dpi - 480dpi | 3 |
xxxhdpi | 480dpi - 640dpi | 4 |
屏幕适配
屏幕适配包括:
支持不同的屏幕密度
支持不同的屏幕尺寸
支持不同的屏幕密度
密度无关像素(dp、dip、sp)
dp 是 Density Independent Pixels 的缩写
Android 中,以 160dpi 为基准,1dp = 1px
如果像素密度为 320dpi,此时 1dp = 2px
sp 即 Scale Independent Pixels,与 dp 类似,用于设置字体
如上图所示,屏幕尺寸大小相同,分辨率不同时:
左图:1dp = 1.5px,屏幕宽度为 540px,即 360dp
右图:1dp = 3px,屏幕宽度为 1080px,即 360dp
所以使用 dp 作为单位进行适配,在两种分辨率下显示效果完全相同
支持不同的屏幕尺寸
由上图可以看到,不同尺寸的屏幕:
图一和图二:分辨率相同时,横向上的长度切换为 dp 后是不同的
图一和图三:dpi 相同时,横向上的长度切换为 dp 后仍然不同
即画一条 360 dp 长度的线,在图一上会占满整个宽,在图二或图三只会占 1/2
所以我们需要对不同尺寸的屏幕进行适配,对于尺寸相差较大时应提供不同的布局
适配规则
使用 “wrap_content” 和 “match_parent”
使用 ConstraintLayout
使用尺寸限定符、最小宽度限定符、屏幕方向限定符
使用点 9 图
颜色模式
16 位色、24 位色、32 位色
屏幕上所展示的图片由像素点组成,每一个像素点只能表达一种颜色
所有的颜色都是由红、绿、蓝三种颜色合成的,红绿蓝称为:三基色
-
色彩深度包括:
色彩深度 颜色数量 名称 1 位 2 种 黑白 8 位 256 种 灰阶 15/16 位 32768/65536 种 高彩 24 位 16677216 种 真彩 30/36/48 位 16677216 种 全彩
24 位色
由纯色到逐渐降低饱和度,红色有 2 ^ 8 = 256 种红色。也称 8 位色,因为用二进制描述需要 00000000 - 11111111,共需 8 位二进制来描述
存储时红色的信息需要 8 位 即 1 个字节来存储
绿色、蓝色一样
三种颜色混合后总共可以得到 2 ^ 8 2 ^ 8 2 ^ 8 = 2 ^ 24 = 16777216 种颜色,即 24 位色
24 位色,又叫真彩色
16 位色
16 位色拥有 2 ^ 16 = 65536 种颜色
红色、蓝色各占 5 位,绿色占 6 位,因为人眼对绿色分辨的色调更精确
即有 32 种红色、32 种蓝色、64 种绿色
某些情况下三种颜色各占 5 位、剩下的 1 位不用,即为 15 位色
32 位色
实际就是 24 位色模式
剩余的 8 位不分配到像素中,这种模式是为了提高数据传输速度
一些特殊情况下,如 DirectX、OpenGL 环境,剩余的 8 位用来描述像素的透明度(Alpha)
屏幕色数
-
智能手机历史上主流屏幕色数:
6 万色屏幕可以显示 65536 种不同的颜色
1600 万色屏幕可以显示 16777216 种颜色
Android 支持的颜色模式
颜色模式 | 描述 | 一个像素点占用空间 | 备注 |
---|---|---|---|
ARGB8888 | 四通道高精度(32位) | 4 字节 | 加载图片的默认模式,色彩丰富。但占用空间较大 |
ARGB4444 | 四通道低精度(16位) | 2 字节 | 在 Api 13 后被废弃,建议使用 ARGB8888。从 Api 19 开始,使用此种模式会被 ARGB8888 替代 |
RGB565 | 三通道(16位) | 2 字节 | |
Alpha8 | 仅有透明通道(8位) | 1 字节 |
由表可以看出,屏幕默认模式为 RGB565,即为 16 位色模式
我们常用的是 ARGB8888 和 ARGB4444 模式
由于屏幕是不透明的,所以显示在屏幕上的颜色可以认为是没有 Alpha 通道的
Alpha 通道主要用于两种颜色进行混合时使用,如上层颜色和下层颜色叠加时
屏幕材质
目前主流手机屏幕材质分为两种:LCD 和 OLED。两者最大区别为:
LCD 屏幕通过外部光源照亮
OLED 屏幕像素自发光(通过有机材料)
关于 LCD 和 OLED 的详细对比可以参考这篇文章:
LCD 屏幕
屏幕材质 | 相关信息 | 主要使用案例 |
---|---|---|
TFT | 比较老的一种屏幕材质 | Motorola Defy+ |
IPS | 俗称“Super TFT”,实质还是 TFT,显示通透、亮丽,可视角度大 | iPhone 系列 |
SLCD(SuperLCD) | LCD 屏幕的高级进阶,色彩还原真实 | HTC 系列 |
OLED 屏幕
目前主流的 AMOLED 屏幕属于 OLED 屏幕的一个分支,技术掌握在三星手中。
屏幕材质 | 相关信息 | 主要使用案例 |
---|---|---|
AMOLED | 三星第一代 AMOLED 屏幕 | Nokia N86、N8 |
Super AMOLED | 三星第二代 AMOLED 屏幕,色彩饱和度高,显示艳丽。之后还延伸出 Super AMOLED Advanced 和 HD Super AMOLED | 三星盖世系列 |
Super AMOLED PLUS | 三星第三代 AMOLED 屏幕,由 Pentile 排列方式改为传统的 RGB 排列方式 | 三星 I9100 |
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。