1. 程式人生 > >android px、dp、sp之間的換算公式

android px、dp、sp之間的換算公式

px 與 dp, sp換算公式?

PPI = Pixels per inch,每英寸上的畫素數,即 "畫素密度"

  • xhdpi: 2.0
  • hdpi: 1.5
  • mdpi: 1.0 (baseline)
  • ldpi: 0.75
    drawable-ldpi、drawable-mdpi、drawable-hdpi 精度分別為低、中(android預設)、高。

對應的圖片大小為:36x36、48x48、72x72。

xxhdpi: 144*144
xhdpi:96*96
hdpi:72*72
mdpi:48*48
ldpi:36*36

dp是虛擬畫素,在不同的畫素密度的裝置上會自動適配,比如:
在320x480解析度,畫素密度為160,1dp=1px
在480x800解析度,畫素密度為240,1dp=1.5px
計算公式:1dp*畫素密度/160 = 實際畫素數

drawable- hdpi、drawable- mdpi、drawable-ldpi的區別:
(1)drawable-hdpi裡面存放高解析度的圖片,如WVGA (480x800),FWVGA (480x854)

(2)drawable-mdpi裡面存放中等解析度的圖片,如HVGA (320x480)

(3)drawable-ldpi裡面存放低解析度的圖片,如QVGA (240x320)

(4)drawable-xhdpi (1280 X 720)

(5)drable-xxhdpi (1920 X 1080)

系統會根據機器的解析度來分別到這幾個資料夾裡面去找對應的圖片。

 ppi的運算方式是:

PPI = √(長度畫素數² + 寬度畫素數²) / 螢幕對角線英寸數

dp:Density-independent pixels,以160PPI螢幕為標準,則1dp=1px,

dp和px的換算公式 :
dp*ppi/160 = px。比如1dp x 320ppi/160 = 2px。

sp:Scale-independent pixels,它是安卓的字型單位,以160PPI螢幕為標準,當字型大小為 100%時, 1sp=1px。

sp 與 px 的換算公式:sp*ppi/160 = px

總結得出:

px = dp*ppi/160
dp = px / (ppi / 160)

px = sp*ppi/160
sp = px / (ppi / 160)

相關推薦

android pxdpsp之間換算公式

px 與 dp, sp換算公式? PPI = Pixels per inch,每英寸上的畫素數,即 "畫素密度" xhdpi: 2.0hdpi: 1.5mdpi: 1.0 (baseline)ldpi: 0.75 drawable-ldpi、drawable-mdpi、drawable-hdpi 精度分別

Android pxdpsp之間相互轉換

系統 als 屏幕大小 span ava 不同 text 自動 nal dp(dip): device independent pixels(設備獨立像素). 不同設備有不同的顯示效果,這個和設備硬件有關,一般我們為了支持WVGA、HVGA和QVGA 推薦使用這個,不依

android UI設計圖片和文字尺寸px對應dpsp換算

螢幕尺寸:指螢幕的對角線長度,單位是英寸,1英寸等於2.54釐米,常見尺寸有2.4,2.8,3.5,3.7,4.2,5.0,5.5,6.0等。 螢幕解析度:指在縱橫向上的畫素點數,單位是px,1px為一個畫素點,一般格式為縱向畫素*橫向畫素,如1960*1080。 螢幕畫素密度:相同尺寸

Android開發之顯示篇(弄懂ppidpiptpxdpdipsp之間的關係看這一篇就夠了)

版權申明】非商業目的註明出處可自由轉載 博文地址:https://blog.csdn.net/ShuSheng0007/article/details/85165773 出自:shusheng007 文章目錄 概述 要解決的疑問 概念篇

Android 中的長度單位pxdpsp

end logs 什麽 com 另一個 好的 不同的 es2017 像素 1.px 這個不用太多解釋,就是屏幕上的一個物理像素點。眼神好的小夥伴仔細看下應該能看到屏幕上的小格子,不行就滴一滴水再看。 不建議使用px,同樣的圖片在不同手機上顯示大小可能不同。分辨率高的顯示的小

android應用開發之View的大小計量單位(pxdpidpdipsp

一、畫素(px)與螢幕解析度1)px(Pixels ,畫素):對應螢幕上的實際畫素點。例如,320*480的螢幕在橫向有320個象素,在縱向有480個象素。 2)螢幕解析度就是在螢幕上顯示的物理畫素總和

Androidpxdpsp等單位的區別詳解

轉載自:http://www.fengfly.com/plus/view-210166-1.html 轉載自:http://wenku.baidu.com/view/3f0e8cf6f61fb7360b4c65c8.html 補充:http://www.360doc.com

設計師給了px單位的標註,Android開發到底要設定多少dipdpsp

1. 要開發一款Android APP,設計師和開發要約定哪些事情?     首先,選擇一款主流機型。     然後,設計師根據該機型的螢幕尺寸設計效果圖,給出px單位的標註。     最後,開發根據該機型,可以算出px與dp的換算方法,根據px單位的標註,設定為dp為單

android佈局】pxdpsp,這些單位有什麼區別?

相信每個Android新手都會遇到這個問題,希望這篇帖子能讓你不再糾結。 px: 即畫素,1px代表螢幕上一個物理的畫素點; px單位不被建議使用,因為同樣100px的圖片,在不同手機上顯示的實際大小可能不同,如下圖所示(圖片來自android developer

Androidpxdpdipsp詳解

眾所周知,Android廠商非常多,各種尺寸的Android手機、平板層出不窮。導致了Android生態環境的碎片化現象越來越嚴重。Google公司為了解決解析度過多的問題,在Android 的開發文件中定義了px,dp,dip,sp,方便開發者適配不同解析度的Androi

androidspdppx的詳解

轉載請註明出自flowsky37的部落格的部落格,尊重他人辛苦勞動! 在說sp、dp、px之前先說下解析度和畫素之間的關係,可能有的哥們不太清楚。我們經常說手機的解析度是1920*1080,或是其它的多少,那這個1080和1920到底指的是什麼呢?說這個又得

Android densitydpidppx

xxx image https The ble 1.5 nexus sca amp DensityDPIExample DeviceScalePixels ldpi 120 Galaxy Y 0.75x 1dp = 0.75px mdpi 160 Galaxy

畫素單位pxdpsp的區別與理解

px  即畫素,1px代表螢幕上一個物理的畫素點; px單位不被建議使用,因為同樣100px的圖片,在不同手機上顯示的實際大小可能不同,如下圖所示(圖片來自android developer guide,下同)。    偶爾用到px的情況,是需要畫1畫素表格線或陰影線的時候,用其他單位如dp會顯得模糊。

pxdpsp,這些單位有什麼區別?

一、怎麼獲取android的螢幕畫素、螢幕密度、螢幕尺寸?   在一個Activity的onCreate方法中,編寫以下程式碼:           DisplayMetrics metric = new DisplayMetrics();          getWind

Android開發中dpdpipx的區別(轉)

基本概念 - dp:安卓中的相對大小 - dpi:(dot per inch)每英寸畫素多少 - px:畫素點 二、詳細說明 1、px和dpi - px: 平常所說的1920×1080只是畫素數量,也就是1920px×1080px,代表手機高度上有1920個畫素

Luogu4745/Gym101620G CERC2017 Gambling Guide 期望DP最短路

ostream max guid head def int http tst return 傳送門——Luogu 傳送門——Vjudge 設\(f_x\)為從\(x\)走到\(N\)的期望步數 如果沒有可以不動的限制,就是隔壁HNOI2013 遊走 如果有可以不動的限制,

Android:pt spdp之間換算

dip: device independent pixels(裝置獨立畫素). 不同裝置有不同的顯示效果,這個和裝置硬體有關,一般我們為了支援WVGA、HVGA和QVGA 推薦使用這個,不依賴畫素。        px: pixels(畫素). 不同裝置顯示效果相同,一般我們HVGA代表320x480畫素,這

Android單位轉換(pxspdp之間的轉換)

import android.content.Context; import android.util.TypedValue; /** * Created by du on 17/7/20. *

簡述Android單位dpspdippx等的區別和使用

 廢話就不多說了,直接說重點。首先解釋下這幾個單位的代表意思。 由於過去通常以畫素為單位設計計算機使用者介面。當一個畫素在80x80的時候,在高解析度顯示器上執行該程式,則使用者介面會顯得很小。所以採用與解析度無關的度量單位來開發程式就能夠解決這個問題。而Android應用開發支援

螢幕適配:dppxppisp手機尺寸和解析度之間的關係

DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); int screenWidthPx = dm.widthPixels; int