Android學習之單位和尺寸

2021-07-03 17:38:54 字數 1200 閱讀 9410

為了要讓程式擁有更好的螢幕適配能力,在指定控制項和布局大小的時候最好使用match_parent 和wrap_content,盡量避免將控制項的寬和高設定乙個固定值。不過在有些情況下,僅僅使用match_parent 和wrap_content 確實無法滿足我們的需求,這時就必須要給控制項的寬或高指定乙個固定值。在布局檔案中指定寬高的固定大小有以下常用單位可供選擇:px、pt、dp 和sp。

px 和pt

px 是畫素的意思,即螢幕中可以顯示的最小元素單元,我們應用裡任何可見的東西都是由乙個個畫素點組成的。單獨乙個畫素點非常的微小,肉眼是無法看見的,可是當許許多多的畫素點聚集到一起時,就可以拼接成五彩繽紛的圖案。

pt 是磅數的意思,1 磅等於1/72 英吋,一般pt 都會作為字型的單位來使用。

過去在pc 上使用px 和pt 的時候可以說是非常得心應手,能把程式打扮得漂漂亮亮。可是現在到了手機上,這兩個單位就顯得有些力不從心了,因為手機的解析度各不相同,乙個200px 寬的按鈕在低解析度的手機上可能將近佔據滿屏,而到了高解析度的手機上可能只佔據螢幕的一半。

dp 和sp

谷歌當然也意識到了這個令人頭疼了問題,於是為android 引入了一套新的單位dp 和sp。

dp 是密度無關畫素的意思,也被稱作dip,和px 相比,它在不同密度的螢幕中的顯示比例將保持一致。

sp 是可伸縮畫素的意思,它採用了和dp 同樣的設計理念,解決了文字大小的適配問題。這裡有乙個新名詞需要引起我們的注意,什麼叫密度?android 中的密度就是螢幕每英

寸所包含的畫素數,通常以dpi 為單位。比如乙個手機螢幕的寬是2 英吋長是3 英吋,如果它的解析度是320*480 畫素,那這個螢幕的密度就是160dpi,如果它的解析度是640*960,那這個螢幕的密度就是320dpi,因此密度值越高的螢幕顯示的效果就越精細。我們可以通過**來得知當前螢幕的密度值是多少,修改mainactivity 中的**,如下所示:

public class mainactivity extends activity 

}

可以看到,在oncreate()方法中我們動態獲取到了當前螢幕的密度值,並列印出來,重新執行程式,然後在低解析度的模擬器上重新執行程式,

根據android 的規定,在160dpi 的螢幕上,1dp 等於1px,而在320dpi 的螢幕上,1dp就等於2px。因此,使用dp 來指定控制項的寬和高,就可以保證控制項在不同密度的螢幕中的顯示比例保持一致。

Android 單位和尺寸

在布局檔案中,指定寬高的固定大小有以下幾個常用的單位 1 px 畫素,即螢幕中可以顯示的最小元素單元 2 pt 磅數,1磅 1 72英吋,一般pt作為字型大小的單位 手機的解析度不同,乙個200px的按鈕在低分辨的手機上可能將近佔據滿屏,而在高解析度的手機上可能只佔據螢幕的一半。3 dp 密度無關畫...

Android 尺寸單位 螢幕適配

是不是看起來dp和sp一樣,在android設計原則中,有提到這兩個單位,他建議文字的尺寸一律用sp單位,非文字的尺寸一律使用dp單位。例如textsize 16sp layout width 60dp 為什麼要把sp和dp代替px?最簡單的原因是他們不會因為ppi的變化而變化,在相同物理尺寸和不同...

CSS尺寸和字型單位 em px還是

在頁面整體布局中,頁面元素的尺寸大小 長度 寬度 內外邊距等 和頁面字型的大小也是重要的工作之一。乙個合理設定,則會讓頁面看起來層次分明,重點鮮明,賞心悅目。反之,乙個不友好的頁面尺寸和字型大小設定,則會增加頁面的複雜性,增加使用者對頁面理解的複雜性 甚至在當下訪問終端 iphone ipad pc...