如何支持多种屏幕大小?
基本概念:
- 屏幕大小
指的是屏幕的物理大小,分为四类:small, normal, large, and extra large。 - 屏幕密度(dpi)
每英寸点数,指的是屏幕一定物理区域内像素数量。 - 分辨率
屏幕上的物理像素总数。 - 与密度无关的像素(dp)
是一个用来定义UI布局的虚拟的像素单位,用来定义布局的尺寸或者位置。
需要注意的是,一个应用程序真正关心的是屏幕的大小和密度,而不是分辨率。
附:
dp和像素的换算:
px = dp * (dpi / 160)。
屏幕具体分类:
- 大小
small, normal, large, and xlarge。 - 密度
ldpi (low), mdpi (medium), hdpi (high), and xhdpi (extra high)
界面布局分类:
一般根据屏幕大小分为small, normal, large和xlarge四类。
图片分类:
一般根据密度分为low, medium, high和extra high四类。
四类图片要按照3:4:6:8的缩放比进行设计。
比如,为一个medium密度的屏幕设计了一个48X48像素的图片,那么其它密度的屏幕如下:
- 36x36 low-density
- 48x48 medium-density
- 72x72 high-density
- 96x96 extra high-density
分类标准:
- xlarge: 960dp x 720dp
- large: 640dp x 480dp
- normal:470dp x 320dp
- small:426dp x 320dp