Android px、dp、sp之間相互轉換
dp(dip): device independent pixels(裝置獨立畫素). 不同裝置有不同的顯示效果,這個和裝置硬體有關,一般我們為了支援WVGA、HVGA和QVGA 推薦使用這個,不依賴畫素。
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: pixels(畫素). 不同裝置顯示效果相同,一般我們HVGA代表320x480畫素,這個用的比較多。
pt: point,是一個標準的長度單位,1pt=1/72英寸,用於印刷業,非常簡單易用;
sp: scaled pixels(放大畫素). 主要用於字型顯示best for textsize。
轉換程式碼如下
相關文章
- Android px 與 dp, sp換算公式Android公式
- px 與 dp, sp換算公式?公式
- px in pt dp(dip) sp in AndroidAndroid
- px,in,mm,pt,dp,dip,sp 之間的換算公式以及區別 螢幕密度公式
- android開發中用到的px、dp、spAndroid
- Android中px, ppi, dpi, dp, dip, sp概念解析Android
- android中dip、dp、px、sp和螢幕密度Android
- android中dip、px相互換算Android
- Android中關於DP與PX的轉換Android
- Android中dip(dp)、dpi、ppi、px、density、sp的概念Android
- 兩分鐘理解Android中PX、DP、SP的區別Android
- 什麼是dp,dip,sp和px及他們之間的的關係?《二》
- mysql時間與字串之間相互轉換MySql字串
- android中String與InputStream之間的相互轉換方式Android
- android byte[]陣列,bitmap,drawable之間的相互轉換Android陣列
- Android中的長度單位詳解(dp、sp、px、in、pt、mm)Android
- spark: RDD與DataFrame之間的相互轉換Spark
- android ui的幾個概念:px,dip(dp),sp,dpi,解析度等AndroidUI
- 時間有幾種格式、相互之間如何轉換?
- json字串和js物件之間相互轉換JSON字串物件
- asp.net中DataTable和List之間相互轉換ASP.NET
- px、dp和sp,這些單位有什麼區別?
- SCN 時間戳的相互轉換時間戳
- SQL Server 字串和時間相互轉換SQLServer字串
- android kotlin dp 轉換工具AndroidKotlin
- pyspark.sql.DataFrame與pandas.DataFrame之間的相互轉換SparkSQL
- 使用boost庫處理 int 、float、string之間相互轉換
- 移動端的vw px rem之間換算REM
- javascript時間戳和時間格式的相互轉換JavaScript時間戳
- (C#)時間戳、DateTime相互轉換C#時間戳
- Golang 陣列和字串之間的相互轉換[]byte/stringGolang陣列字串
- Python 實現Excel和TXT文字格式之間的相互轉換PythonExcel
- Perl中本地時間和UNIX時間戳間相互轉換時間戳
- Android中dp和px轉換的工具類【工具類靜態方法注意防止記憶體洩露】Android記憶體洩露
- js時間戳與日期格式的相互轉換JS時間戳
- java物件與json物件間的相互轉換Java物件JSON
- Python時間戳的使用和相互轉換Python時間戳
- android之兩個activity相互跳轉Android