android快速上手(四)屏幕分辨率和單位概念淺析

物理尺寸:屏幕對角線的長度,如4寸(3寸=10cm)

分辨率:屏幕顯示的總像素,如480*800(寬480個像素點,高800像素點)

像素密度:dpi,每英寸點數(1英寸=2.54cm)

某邊的分辨率(總像素數)= 該邊物理尺寸(單位是英寸) × 像素密度

手機屏幕密度:低密度(ldpi,120dpi),中密度(mdpi,160dpi),高密度(hdpi,240dpi),超高密度(xhdpi,320dpi)等


px:屏幕實際的象素。例如,320*480的屏幕在橫向有320個象素,在縱向有480個象素。

dip:設備獨立像素,以160dpi的設備爲參照,在160dpi設備上1dip=1px,pixs = dips * (density/160)

dp:等同於dip

sp:用於標識字體的,它不僅跟屏幕尺寸有關,還跟設置的系統字體大小有關,用戶修改系統字體大小會改變字體。

根據 google 的建議,TextView 的字號最好使用 sp 做單位,而且查看TextView的源碼可知 Android 默認使用 sp 作爲字號單位。在160dpi屏幕中,當字體大小爲100%的時候,1sp=1px。

public void setTextSize(float size) {
        setTextSize(TypedValue.COMPLEX_UNIT_SP, size);
    }
用sp和dp代替px,在不同dpi屏幕下,呈現的高度大小是相同的,更接近物理呈現。

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