Android屏幕適配之單位DP

基本概念

名詞概念

名稱 解釋
px 像素點(diǎn)堪置,一個(gè)像素點(diǎn)為1px
dp 即dip,像素密度
sp 同dp弹灭,但是可以根據(jù)系統(tǒng)字體偏好縮放
dpi 每英寸的像素?cái)?shù)毁靶,也叫做屏幕密度

換算關(guān)系

dpi = \dfrac{\sqrt{height^2 + width^2}}{size}

px = dp * (dpi/160)

根據(jù)換算關(guān)系:
320 x 480分辨率,3.6寸的手機(jī):dpi為160蛮位,1dp=1px

dp解析

dp是比例嗎较沪?為什么要用dp?

實(shí)驗(yàn)一

相同分辨率失仁,不同大小的手機(jī)AB:

代號(hào) 分辨率 尺寸 dpi dp
手機(jī)A 320x480 3.6寸 160 1dp=1px
手機(jī)B 320x480 7.2寸 80 1dp=0.5px

假如AB都設(shè)置一個(gè)寬度為100dp的TextView:

代號(hào) TextView寬度 手機(jī)寬度 比例關(guān)系
手機(jī)A 100px 320px 10/32
手機(jī)B 50px 320px 5/32

得出結(jié)論:
對(duì)于相同分辨率的手機(jī)尸曼,屏幕越大,同DP的組件占用屏幕比例越小萄焦。

如圖所示:

69F8518D-DB48-46FA-9692-1781D4BFCE96.png

C13B2003-1A88-4081-BF86-6369E78543A7.png

實(shí)驗(yàn)二

相同大小控轿,不同分辨率的手機(jī)AB:

代號(hào) 分辨率 尺寸 dpi dp
手機(jī)A 320x480 3.6寸 160 1dp=1px
手機(jī)B 640x960 3.6寸 320 1dp=2px

假如AB都設(shè)置一個(gè)寬度為100dp的TextView:

代號(hào) TextView寬度 手機(jī)寬度 比例關(guān)系
手機(jī)A 100px 320px 10/32
手機(jī)B 200px 640px 10/32

得出結(jié)論:
對(duì)于相同尺寸的手機(jī),即使分辨率不同拂封,同DP的組件占用屏幕比例也相同茬射。

如圖:

519BBF6F-35CD-42FE-BBE2-906927DDDCDB.png

6D49FB83-DF00-4052-BDED-FB95D37ED32E.png

綜上:
dp的UI效果只在相同尺寸的屏幕上相同,如果屏幕尺寸差異過(guò)大冒签,則需要重做dp適配在抛。

這也是平板需要單獨(dú)做適配的原因,可見(jiàn)dp不是比例萧恕。

為什么不用比例

為什么Android要用dp刚梭,而不用比例以兼容不同大小的手機(jī)呢肠阱?

如果用dp,假設(shè)在手機(jī)A上設(shè)置一個(gè)寬度為屏幕一半寬dp值朴读,高度為屏幕一半高dp值的TextView屹徘。效果圖如下:

156F9450-7C1E-4A55-AE3B-0A3684563A6F.png

當(dāng)它橫屏?xí)r,顯示效果如下:

FF6FBC0E-570B-473A-BBBC-8ACE7A9DAFBC.png

但是衅金,如果Android沒(méi)有采用dp作為單位缘回,而選用比例作為單位,對(duì)于相同的TextView典挑,橫屏后的顯示效果如下:

8B5338FD-450D-4145-966F-1E2B20E98799.png

整個(gè)TextView組件都變形了酥宴!

所以:
dp可以維護(hù)Android組件自身的比例平衡,不至于在不同屏幕上變形您觉。這是比例做不到的拙寡。

總結(jié)

dp的意義在于:

  1. 同大小的手機(jī),使用dp做出的UI效果一定相同琳水。
  2. 不同大小的手機(jī)肆糕,使用dp做出的UI效果一定不同(這里不考慮weight等參數(shù))。但只是組件相對(duì)于屏幕的大小比例有所縮放在孝,組件自身的寬高比是不變的诚啃,即組件自身不會(huì)變形。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末私沮,一起剝皮案震驚了整個(gè)濱河市始赎,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌仔燕,老刑警劉巖造垛,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異晰搀,居然都是意外死亡五辽,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門外恕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)杆逗,“玉大人,你說(shuō)我怎么就攤上這事鳞疲∽锝迹” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵建丧,是天一觀的道長(zhǎng)排龄。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么橄维? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任尺铣,我火速辦了婚禮,結(jié)果婚禮上争舞,老公的妹妹穿的比我還像新娘凛忿。我一直安慰自己,他們只是感情好竞川,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布店溢。 她就那樣靜靜地躺著,像睡著了一般委乌。 火紅的嫁衣襯著肌膚如雪床牧。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,688評(píng)論 1 305
  • 那天遭贸,我揣著相機(jī)與錄音戈咳,去河邊找鬼。 笑死壕吹,一個(gè)胖子當(dāng)著我的面吹牛著蛙,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播耳贬,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼踏堡,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了咒劲?” 一聲冷哼從身側(cè)響起顷蟆,我...
    開(kāi)封第一講書(shū)人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎缎患,沒(méi)想到半個(gè)月后慕的,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡挤渔,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了风题。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片判导。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖沛硅,靈堂內(nèi)的尸體忽然破棺而出眼刃,到底是詐尸還是另有隱情,我是刑警寧澤摇肌,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布擂红,位于F島的核電站,受9級(jí)特大地震影響围小,放射性物質(zhì)發(fā)生泄漏昵骤。R本人自食惡果不足惜树碱,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望变秦。 院中可真熱鬧成榜,春花似錦、人聲如沸蹦玫。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)樱溉。三九已至挣输,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間福贞,已是汗流浹背歧焦。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留肚医,地道東北人绢馍。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像肠套,于是被迫代替她去往敵國(guó)和親舰涌。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容