> 文章列表 > Android---屏幕适配

Android---屏幕适配

Android---屏幕适配

为什么要适配

由于 Android 系统的开放性,任何用户、开发者、OEM 厂商、运营商都可以对 Android 进行定制,于是导致运行 Android 的设备多种多样,它们有着不同的屏幕尺寸像素密度。尽管系统可以通过基本的缩放和调整大小功能使界面适应不同屏幕,但也应该做出进一步优化,以确保界面能够在各类屏幕上美观地呈现。

屏幕尺寸

屏幕尺寸指屏幕的对角线的长度,单位是英寸,1英寸=2.54厘米。常见的屏幕尺寸有 2.4、2.8、3.5、3.7、4.2、5.0、5.5、6.0等。

屏幕分辨率

屏幕分辨率是指在横纵方向上的像素点数,单位是 px,1px = 1个像素点。一般以纵向像素*横向像素,例如 1960*1080。表示高度方向上有1980个像素点,宽度方向上有1080个像素点。Android 手机常见的分辨率:320x480, 480x800, 720x1280, 1080*1920。UI 设计师的设计图会以 px 作为统一的计量单位。

屏幕像素密度

屏幕像素密度是指每英寸上的像素点数,单位是 dpi,即“dot per inch" 的缩写。屏幕像素密度与屏幕尺寸和屏幕分辨率有关,在单一变化条件下,屏幕尺寸越小、分辨率越高,像素密度越大,反之越小。

安卓手机对于每类手机屏幕大小都有一个相应的屏幕像素密度:

密度类型 代表分辨率(px) 屏幕像素密度(dpi)
低密度(ldpi) 240x320 120
中密度(mdpi) 320x480 160
高密度(hdpi) 480x800 240
超高密度(xhdpi) 720x1280 320
超超高密度(xxhdpi) 1080x1920 480

屏幕尺寸、分辨率、像素密度三者关系

一部手机的分辨率是 宽x高,屏幕大小是以寸为单位,那么三者的关系是:

 密度无关像素

 density-independent pixel,叫 dpdip,与终端上的实际物理像素点无关。可以保证在不同屏幕像素密度的设备上显示相同的效果。Android 开发时用 dp 而不是 px 单位设置图片大小,是 Android 特有的单位。

应用场景:

假如同样都是画一条长度都是屏幕一半的线,如果使用 px 作为计量单位,那么在 480x480 分辨率手机上设置为 240px;在320x480 的手机上应设置为 160px,二者设置就不同了;如果使用 dp 为单位,在这两种分辨率下,160dp 都显示为屏幕一半的长度。 

dp 与 px 的转换

px = dp * (dpi / 160)

 独立比例像素

sp,即 scale-independent pixels,与 dp 类似,但是可以根据文字大小首选项进行缩放,是设置字体大小的御用单位