Android布局中的尺寸單位介紹

簡介:很多剛開始接觸Android開發(fā)的初學(xué)者锈遥,雖然會做些簡單布局屈尼,但是卻不明白其深層的意思抒倚,只是把布局文件寫完了,在真機(jī)上調(diào)試看到樣子就覺得完事了判莉。也不會管這種布局方式是否在其他屏幕手機(jī)上合適豆挽。這篇文章先從一個(gè)最基本的小點(diǎn)入手,主要介紹下Android工程目錄下的mdpi券盅、hdpi等目錄的意義帮哈,和它們與開發(fā)中所用到的一些基本單位如sp、dp等的關(guān)系锰镀。

在介紹開發(fā)上的知識之前
我們先了解下市面上一些手機(jī)規(guī)格里面所表達(dá)的意義娘侍。

以下用榮耀6 plus的屏幕參數(shù)作為例子講解這些參數(shù)之間的關(guān)系。


honor 6 plus參數(shù)

英寸(inch) 1 inch = 2.54 cm

主屏尺寸:也就是主要顯示屏幕對角線的距離
屏幕像素密度:ppi(pixels per inch )泳炉,意思是憾筏,每英寸所含有的像素?cái)?shù)量;
主屏分辨率:1920x1080像素表示屏幕高度上有1920個(gè)像素點(diǎn)花鹅,寬度上有1080個(gè)像素點(diǎn)氧腰;

以上三個(gè)參數(shù)是有一定關(guān)系的,
因?yàn)閷蔷€是5.5英寸刨肃,因像素相對于英寸足夠小古拴,我們可以根據(jù)勾股定理,計(jì)算出對角線上大約有2202.907像素
再用這個(gè)像素?cái)?shù)除以5.5英寸大致得到像素密度為:400.528真友, 約等于401黄痪。所以此處屏幕像素密度為:401ppi

以上是市面上手機(jī)的一些參數(shù),而作為Android開發(fā)人員锻狗,則經(jīng)常會和以下幾個(gè)單位打交道:
px : one pixel (像素)
dip :Density-independent pixels(密度無關(guān)像素满力,也可以簡寫成:dp,代表 1/160 inch轻纪,一般都會使用這個(gè)單位進(jìn)行布局)
sp :scale-independent pixels(拉升無關(guān)像素,與dp計(jì)算規(guī)則一致叠纷,區(qū)別是大小會根據(jù)系統(tǒng)設(shè)定而變刻帚,一般用在字體大小上)
還有兩個(gè) :一個(gè)是mm 表示毫米,另一個(gè)是pt表示點(diǎn) 1/72 inch涩嚣,開發(fā)中不經(jīng)常用到崇众,這里不做詳細(xì)介紹掂僵。

手機(jī)屏幕多種多樣,規(guī)格各不相同顷歌,Android為保證開發(fā)者能開發(fā)出適配不同屏幕的應(yīng)用锰蓬,它把不同屏幕密度做了以下劃分;

規(guī)格

注意這里的dpi 和ppi某種程度上來說其實(shí)是一樣的東西眯漩。每一種手機(jī)都有一個(gè)自己ppi芹扭,但我們在編程時(shí),這個(gè)手機(jī)的屏幕就會對應(yīng)到我們所說的某個(gè)dpi赦抖,Android程序框架為了方便處理只定義了幾種dpi規(guī)格舱卡,某款手機(jī)在知道ppi后,向上找到最接近的dpi作為標(biāo)準(zhǔn)队萤。如下一段代碼我們經(jīng)常用來打印設(shè)備密度轮锥,來進(jìn)行不同機(jī)型的屏幕適配。

Resources.getSystem().getDisplayMetrics().density
Resources.getSystem().getDisplayMetrics().densityDpi

在Nexus 6P中我們會得到density = 3.5要尔,densityDpi = 560舍杜,而上網(wǎng)查找Nexus6P手機(jī)我們可以知道它的PPI為515,所以它對應(yīng)到了xxxhdpi這個(gè)范圍上赵辕。3.5就是560 / 160所得蝴簇。

注:其中mdpi也叫normal size,是第一款基于Android的手機(jī) HTC T-Mobile G1手機(jī)的分辨率大小匆帚,Android直到 1.6版本才可以支持不同分辨率的屏幕熬词。

這里我們舉個(gè)例子說明,Android應(yīng)用在工作時(shí)如何展示和選擇素材:
如果我們開發(fā)時(shí)吸重,把一個(gè) 10x10 像素的圖片放到mdpi的素材目錄下互拾,布局設(shè)置為wrap_content;則這個(gè)圖片會在手機(jī)上占用 (1/16 x 1/16) inch 的空間嚎幸。這時(shí)候同樣的一張圖片如果運(yùn)行在不同ppi的手機(jī)上颜矿,則會不一樣,因?yàn)殡m然在手機(jī)上占用的屏幕尺寸一樣嫉晶,但是這個(gè)尺寸所包含的像素?cái)?shù)量不一樣骑疆。在高ppi手機(jī)上這張圖片可能會有模糊;
同樣如果你把這個(gè)10x10像素的圖片放到了hdpi目錄下替废,則這個(gè)圖片就會占用:(1/24 x 1/24)inch的大小箍铭,同樣的圖片則顯示的就會更小,也會更精致椎镣。因?yàn)樵谕瑯拥某叽缦掳烁嗟南袼亍?/p>

這樣你就可以根據(jù)需要適配機(jī)型的物理長寬尺寸诈火,來選擇把不同的素材放到不同的文件夾里,以達(dá)到最好的顯示状答;

那如果每個(gè)文件夾下都有這一張不同分辨率的圖片冷守,應(yīng)用在運(yùn)行時(shí)刀崖,Android系統(tǒng)會選擇最接近改密度的文件夾目錄下的素材,比如上面提到的榮耀 6 plus的401ppi拍摇,它向上接近480dpi亮钦,所以系統(tǒng)會優(yōu)先為它選擇xxhdpi目錄下的素材。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末充活,一起剝皮案震驚了整個(gè)濱河市蜂莉,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌堪唐,老刑警劉巖巡语,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異淮菠,居然都是意外死亡男公,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進(jìn)店門合陵,熙熙樓的掌柜王于貴愁眉苦臉地迎上來枢赔,“玉大人,你說我怎么就攤上這事拥知√ぐ荩” “怎么了?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵低剔,是天一觀的道長速梗。 經(jīng)常有香客問我,道長襟齿,這世上最難降的妖魔是什么姻锁? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮猜欺,結(jié)果婚禮上位隶,老公的妹妹穿的比我還像新娘。我一直安慰自己开皿,他們只是感情好涧黄,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著赋荆,像睡著了一般笋妥。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上糠睡,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天挽鞠,我揣著相機(jī)與錄音,去河邊找鬼狈孔。 笑死信认,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的均抽。 我是一名探鬼主播嫁赏,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼油挥!你這毒婦竟也來了潦蝇?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤深寥,失蹤者是張志新(化名)和其女友劉穎攘乒,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體惋鹅,經(jīng)...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡则酝,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了闰集。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片沽讹。...
    茶點(diǎn)故事閱讀 39,902評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖武鲁,靈堂內(nèi)的尸體忽然破棺而出爽雄,到底是詐尸還是另有隱情,我是刑警寧澤沐鼠,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布挚瘟,位于F島的核電站,受9級特大地震影響饲梭,放射性物質(zhì)發(fā)生泄漏乘盖。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一排拷、第九天 我趴在偏房一處隱蔽的房頂上張望侧漓。 院中可真熱鬧,春花似錦监氢、人聲如沸布蔗。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽纵揍。三九已至,卻和暖如春议街,著一層夾襖步出監(jiān)牢的瞬間泽谨,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留吧雹,地道東北人骨杂。 一個(gè)月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像雄卷,于是被迫代替她去往敵國和親搓蚪。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評論 2 354

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