前言
在Android
开发过程中,屏幕碎片化十分严重,屏幕适配也是一个令人十分头疼的问题,那么今天就让我们来学习下Android屏幕适配
相关知识。
今天涉及的内容有:
- 分辨率(px)
- 屏幕大小(英寸)
- 密度(dpi)
- 单位dp
- dp和px换算
一. 分辨率(px)
分辨率 就是手机像素点,一般描述成 “宽x高”,单位是 px
。安卓手机屏幕常见的分辨率有480×800、720×1280、1080×1920等。720×1280表示此屏幕在宽度方向有720个像素,在高度方向有1280个像素。
二. 屏幕大小(英寸)
屏幕大小 即手机屏幕尺寸,单位为英寸
(1英寸=2.54cm),一般指手机对角线尺寸。手机尺寸一般有 5.5,5.8,6.2等。
三. 密度(dpi)
密度 表示单位英寸的像素点数。数值越高,画面越细腻清晰。理论上而言,dpi=,即用勾股定理算出对角线分辨率,再除以屏幕大小,得到理论密度(dpi),但是在Android
中,每部安卓手机屏幕都有一个固定的密度,我们都是以这个固定dpi来做关系换算。
密度 | ldpi | mdpi | hdpi | xhdpi | xxhdpi |
---|---|---|---|---|---|
密度值(dpi) | 120 | 160 | 240 | 320 | 480 |
屏幕分辨率(宽x高) | 240x320 | 320x480 | 480x800 | 720x1280 | 1080x1920 |
四. 单位dp
单位dp
,又可以写成dip
,表示是Android
开发中的一个屏幕长度单位,你可以想象dp
更类似一个物理尺寸。dpi
越大的手机屏幕,1dp
换算成的px
数值就越大。
五. dp和px换算
在Android
开发过程中,规定系统密度为160dpi
的中密度手机屏幕为基准屏幕,即320×480
的手机屏幕。在这个屏幕中,1dp=1px
,且1sp=1px
(sp用来形容文字大小的单位)。则Android
中dp
和px
换算关系如下:
密度 | ldpi | mdpi | hdpi | xhdpi | xxhdpi |
---|---|---|---|---|---|
屏幕分辨率(宽x高) | 240x320 | 320x480 | 480x800 | 720x1280 | 1080x1920 |
密度值(dpi) | 120 | 160 | 240 | 320 | 480 |
dp和px换算 | 1dp=0.75px | 1dp=1px | 1dp=1.5px | 1dp=2px | 1dp=3px |
比例 | 3 | 4 | 6 | 8 | 12 |
这里需要注意的是,我们是,我们主要根据 dpi的关系来换算 dp和px,如以屏幕分辨率480x800,dpi=240
的手机来说,换算关系为:=
其他手机屏幕的 dp 和 px 换算也是以dpi
与标准dpi(160dpi)
为基准换算的。sp
换算雷同,因为160dpi
手机上1dp=1px=1sp
.
ok,今天关于Android屏幕适配的知识就讲到这里了,谢谢大家。
网友评论