android學習之---屏幕知識

android屏幕知識點

1,基本概念

(1)分辨率:分辨率就是屏幕像素點的個數,android手機常見的分辨率有480*800,720*1280,1080*1920等;如,480*800,就是指這個屏幕寬有480個像素,高有800個像素。一個像素就是我們常說的R(紅)G(綠)B(藍)三色。這裏像素的單位是px。

(2)屏幕大小:屏幕大小是手機屏幕對角線的物理尺寸,以英寸(inch)爲單位。比如常說的5寸大屏手機,它的具體尺寸是5*2.54cm = 12.7cm。

(3)密度:(dpi)就是沒英寸像素點的個數。數值越高顯示的效果越細膩。比如我們有一部手機,分辨率是1080*1920,屏幕的尺寸是5寸,根據勾股定理可以得出手機屏幕對角線上的像素點的個數大約是2203,那麼2203/5就是這個屏幕的密度了。計算結果是440dpi。就是每一英寸有440個像素。

2,實際分析

那麼,根據上面的計算,同樣分辨率但是尺寸不同的手機像素密度會不一樣,這樣會出現嚴重的碎片化。其實,android的每一部手機都有一個初始的固定密度,這些值是120,160,240,320,480,這是有規律的,相隔數之間是2倍的關係。一般情況下,240*320的屏幕是度密度120dpi,即ldpi;320*480的屏幕是中密度160dpi,即mdpi,480*800的屏幕是高密度,240dpi,即hdpi;720*1280的屏幕是超高密度,320dpi,即xhdpi;1080*1920的屏幕是超超高密度,480dpi,即xxhdpi。










3,另一個重要的單位dp

dp也可以寫成dip,dp可以想象成一個類似的物理尺寸。比如一張寬和高均爲100dp的圖片,在320*480和480*800的手機上看起來一樣大。而實際上,他們的像素值不一樣。dp正是這樣一個尺寸單位,不管這個屏幕的密度是多少,不同屏幕上相同dp的元素看起來始終是一樣的。

另外,文字尺寸是使用sp,這樣,當你在系統設置裏面調節字號的大小,應用中的文字也會隨之改變大小。

4,dp和px的轉換

在android中系統密度爲160dpi的中密度手機屏幕爲基準屏幕,即320*480的手機屏幕。在這個屏幕中1dp=1px。

100dp在320*480(160dpi)中是100px,那麼100dp在480*800(240dpi)的手機上是多少px??

我們知道100dp在兩個手機上看起來是差不多大的,根據160和240的比例關係可以知道在480*800的屏幕上100dp實際上覆蓋了150px。

因此,如果你爲mdpi手機提供了一張100px的圖片,這張圖片在hdpi的手機上就會拉伸至150px,但是他們都是100dp。

這樣計算不同密度手機的比例有ldpi:mdpi:hdpi:xhdpi:xxhdpi = 3:4:6:8:12。相隔數之前還是2倍的關係。計算的時候以mdpi爲基準。













當android系統字號設置爲普通時,sp與px的尺寸換算和dp與px的是一樣的。比如某個文字大小在720*1280的ps畫布中是24px,那麼這個文字的實際大小是12sp。

5,建議在xhdpi中作圖

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章