android sp dp px 等名詞含義

2021-06-18 18:32:00 字數 1284 閱讀 8402

相信每個android新手都會遇到這個問題,希望這篇帖子能讓你不再糾結。

即畫素,1px代表螢幕上乙個物理的畫素點;

px單位不被建議使用,因為同樣100px的,在不同手機上顯示的實際大小可能不同,如下圖所示。

這個是最常用但也最難理解的尺寸單位。它與「畫素密度」密切相關,所以首先我們解釋一下什麼是畫素密度。假設有一部手機,螢幕的物理尺寸為1.5英吋x2英吋,螢幕解析度為240x320,則我們可以計算出在這部手機的螢幕上,每英吋包含的畫素點的數量為240/1.5=160dpi(橫向)或320/2=160dpi(縱向),160dpi就是這部手機的畫素密度,畫素密度的單位dpi是dots per inch的縮寫,即每英吋畫素數量。橫向和縱向的這個值都是相同的,原因是大部分手機螢幕使用正方形的畫素點。

不同的手機/平板可能具有不同的畫素密度,例如同為4寸手機,有480x320解析度的也有800x480解析度的,前者的畫素密度就比較低。android系統定義了四種畫素密度:低(120dpi)、中(160dpi)、高(240dpi)和超高(320dpi),它們對應的dp到px的係數分別為0.75、1、1.5和2,這個係數乘以dp長度就是畫素數。例如介面上有乙個長度為「80dp」的,那麼它在240dpi的手機上實際顯示為80x1.5=120px,在320dpi的手機上實際顯示為80x2=160px。如果你拿這兩部手機放在一起對比,會發現這個的物理尺寸「差不多」,這就是使用dp作為單位的效果,見下圖。

與dp完全相同,只是名字不同而已。在早期的android版本裡多使用dip,後來為了與sp統一就建議使用dp這個名字了。

與縮放無關的抽象畫素(scale-independent pixel)。sp和dp很類似但唯一的區別是,android系統允許使用者自定義文字尺寸大小(小、正常、大、超大等等),當文字尺寸是「正常」時1sp=1dp=0.00625英吋,而當文字尺寸是「大」或「超大」時,1sp>1dp=0.00625英吋。類似我們在windows裡調整字型尺寸以後的效果——視窗大小不變,只有文字大小改變。

還有幾個比較少用到的尺寸單位:

即公釐;

即英吋,1英吋=2.54厘公尺(約);

1pt=1/72英吋=0.035厘公尺;

最佳實踐,文字的尺寸一律用sp單位,非文字的尺寸一律使用dp單位。例如textsize="16sp"、layout_width="60dp";偶爾需要使用px單位,例如需要在螢幕上畫一條細的分隔線時:

<

view

layout_width

="match_parent"

layout_height

="1px"

/>

sql server 查詢表名,儲存過程,列名等

1 獲取當前資料庫中的所有使用者表 select name from sysobjects where xtype u and status 0 2 獲取某乙個表的所有字段 select name from syscolumns where id object id n 表名 select a.fr...

oracle查詢資料庫名 例項名等

oracle中 1 查詢資料庫名 select name,dbid from v database 或者show parameter db name 2 查詢例項名 select instance name from v instance 或者show parameter instance name...

mysql 命令下檢視表名等簡單操作

建立表 create table 表名 欄位1名 varchar 255 not null default 欄位2名 varchar 255 not null default 檢視表結構 desc 表名 show columns from 表名 describe 表名 insert insert i...