在布局檔案中,指定寬高的固定大小有以下幾個常用的單位:
1、px:畫素,即螢幕中可以顯示的最小元素單元
2、pt:磅數,1磅=1/72英吋,一般pt作為字型大小的單位
手機的解析度不同,乙個200px的按鈕在低分辨的手機上可能將近佔據滿屏,而在高解析度的手機上可能只佔據螢幕的一半。
3、dp:密度無關畫素,也稱之為dip,和px相比,它在不同密度的螢幕上顯示的比例將保持一致
4、sp:可伸縮畫素,採用與dp同樣的設計理念,解決文字大小的適配問題。
密度:指的是螢幕每英吋所包含的畫素,通常以dpi為單位。
可通過以下方法得到該螢幕的密度(dpi)
float xdpi = getresources().getdisplaymetrics().xdpi
;float ydpi = getresources().getdisplaymetrics().ydpi
;log.d("mainactivity", "xdpi = " + xdpi);
log.d("mainactivity", "ydpi = " + ydpi);
按照android 的規定,在160dpi的螢幕上,1dp = 1px,在320dpi的螢幕上,1dp = 2px。因此,使用dp指定控制項的寬度和高度,就可以保證控制項在不同密度的螢幕上的顯示比例保持一致。
總結:
在編寫android 程式時,盡量將控制項或布局的大小指定為match_parent或wrap_content,如果必須要使用固定值,則使用dp作為單位,指定文字大小的時候則使用sp作為單位。
Android學習之單位和尺寸
為了要讓程式擁有更好的螢幕適配能力,在指定控制項和布局大小的時候最好使用match parent 和wrap content,盡量避免將控制項的寬和高設定乙個固定值。不過在有些情況下,僅僅使用match parent 和wrap content 確實無法滿足我們的需求,這時就必須要給控制項的寬或高指...
Android 尺寸單位 螢幕適配
是不是看起來dp和sp一樣,在android設計原則中,有提到這兩個單位,他建議文字的尺寸一律用sp單位,非文字的尺寸一律使用dp單位。例如textsize 16sp layout width 60dp 為什麼要把sp和dp代替px?最簡單的原因是他們不會因為ppi的變化而變化,在相同物理尺寸和不同...
尺寸單位em,rem,vh,vw
這幾天做demo,看了網上教程有用到尺寸單位vh,vw,這些單位不是很熟悉,所以上網上找了些資料來認識了這些不認識的單位 1.em 在做手機端的時候經常會用到的做字型的尺寸單位 說白了 em就相當於 倍 比如設定當前的div的字型大小為1.5em,則當前的div的字型大小為 當前div繼承的字型大小...