關於Android中長度單位

2021-08-27 00:19:37 字數 1331 閱讀 2222

看到有很多網友不太理解dp、sp和px的區別:現在這裡介紹一下dp和sp。dp也就是dip。這個和sp基本類似。如果設定表示長度、高度等屬性時可以使用dp 或sp。但如果設定字型,需要使用sp。dp是與密度無關,sp除了與密度無關外,還與scale無關。如果螢幕密度為160,這時dp和sp和px是一樣的。1dp=1sp=1px,但如果使用px作單位,如果螢幕大小不變(假設還是3.2寸),而螢幕密度變成了320。那麼原來textview的寬度設成160px,在密度為320的3.2寸螢幕裡看要比在密度為160的3.2寸螢幕上看短了一半。但如果設定成160dp或160sp的話。系統會自動將width屬性值設定成320px的。也就是160 * 320 / 160。其中320 / 160可稱為密度比例因子。也就是說,如果使用dp和sp,系統會根據螢幕密度的變化自動進行轉換。

下面看一下其他單位的含義

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

in:表示英吋,是螢幕的物理尺寸。每英吋等於2.54厘公尺。例如,形容手機螢幕大小,經常說,3.2(英)寸、3.5(英)寸、4(英)寸就是指這個單位。這些尺寸是螢幕的對角線長度。如果手機的螢幕是3.2英吋,表示手機的螢幕(可視區域)對角線長度是3.2*2.54 = 8.128厘公尺。讀者可以去量一量自己的手機螢幕,看和實際的尺寸是否一致。

mm:表示公釐,是螢幕的物理尺寸。

pt:表示乙個點,是螢幕的物理尺寸。大小為1英吋的1/72。

原帖位址

px(pixels ,畫素):對應螢幕上的實際畫素點。例如,320*480的螢幕在橫向有320個象素,在縱向有480個象素。

in(inches ,英吋):螢幕物理長度單位。每英吋等於2.54厘公尺。例如,形容手機螢幕大小,經常說,3.2(英)寸、3.5(英)寸、4(英)寸就是指這個單位。這些尺寸是螢幕的對角線長度。如果手機的螢幕是3.2英吋,表示手機的螢幕(可視區域)對角線長度是3.2*2.54 = 8.128厘公尺。讀者可以去量一量自己的手機螢幕,看和實際的尺寸是否一致。

mm(millimeters ,公釐):螢幕物理長度單位。

pt(points ,磅):螢幕物理長度單位, 表示乙個點,是螢幕的物理尺寸。大小為1英吋的1/72。

dp(與密度無關的畫素):邏輯長度單位,在 160 dpi 螢幕上,1dp=1px=1/160英吋。隨著密度變化,對應的畫素數量也變化,但並沒有直接的變化比例。

dip:與dp相同,多用於google示例中。

sp(與密度和字型縮放度無關的畫素):與dp類似,但是可以根據使用者的字型大小首選項進行縮放。

盡量使用dp作為空間大小單位,sp作為和文字相關大小單位

經驗轉換,800*480下的px資料,轉化成dip或者sp的大小是三分之二px值大小

理解css中長度單位

寫css的時候最常用的長度單位是px 畫素 經常看到的還有em,pt等等,其實css中的長度單位一共有8個,分別是 px,em,pt,ex,pc,in,mm,cm 1.px 畫素 pixel 相對於裝置的長度單位,畫素是相對於顯示器螢幕解析度而言的。譬如,wondows的使用者所使用的解析度一般是9...

SS中長度單位pt px dpi詳解

在印刷排版中 point 是乙個絕對的單位,它等於 1 72 英吋。可以用尺子丈量的,物理的英吋。但在css中pt的含義卻非如此,例如我們指定乙個字型是9pt,瀏覽器會以css規範解釋,它等於 9 1 72 1 8 inch 這是乙個誤解,因為我們的顯示器被分割為了乙個個的畫素,單個畫素只能有一種顏...

Android支援的長度單位

為了使使用者介面能夠在現在和將來的顯示器型別上正常顯示,建議大家始終使用sp作為文字大小的單位,android預設的字型大小也是用的sp。將dip作為其他元素的單位,比如長度 高度。當然,也可以考慮使用向量圖形,而不是用位圖。dp是與密度無關,sp除了與密度無關外,還與scale無關。如果螢幕密度為...