


全文預(yù)覽已結(jié)束
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
px、dip、sp區(qū)別和使用方法一、概述我們?cè)陧撁娌季值臅r(shí)候,經(jīng)常會(huì)設(shè)置容器的長度,但是到底該使用哪個(gè)作為長度的單位而懊惱。在Android中支持的描述大小區(qū)域的類型有以下幾種。px(pixels)像素:不同的設(shè)備顯示效果相同,一般我們HVGA代表320x480像素,這個(gè)用的比較多。dip(device independent pixels)設(shè)備獨(dú)立像素:這個(gè)和設(shè)備硬件有關(guān),一般哦我們?yōu)榱酥С諻CGA、HVGA和QVGA推薦使用這個(gè),不依賴于像素。等同于dp。sp(scaled pixelsbest for text size)帶比例的像素。pt(points)磅:1pt = 1/72英寸in(inches)英寸mm(millimeters)毫米二、詳解sp由于是放大像素,主要是用于字體顯示,由此根據(jù)google的建議,TextView的字體大小最好用sp做單位,而且查看TextView的源碼可知Android默認(rèn)使用水平作為字號(hào)單位。在Android中最常用到的還是px和dip。但是這兩個(gè)之間到底有什么區(qū)別呢?在HVGA屏density=160;QVGA屏density=120;WVGA屏density=240;WQVGA屏density=120 density值表示每英寸有多少個(gè)顯示點(diǎn),與分辨率是兩個(gè)概念。不同density下屏幕分辨率信息,以480dip*800dip的WVGA(density=240)為例。density=120時(shí) 屏幕實(shí)際分辨率為240px*400px(兩個(gè)點(diǎn)對(duì)應(yīng)一個(gè)分辨率)狀態(tài)欄和標(biāo)題欄高各19px或者25dip橫屏是屏幕寬度400px或者800dip,工作區(qū)域高度211px或者480dip豎屏?xí)r屏幕寬度240px或者480dip,工作區(qū)域高度381px或者775dipdensity=160時(shí) 屏幕實(shí)際分辨率為320px*533px(3個(gè)點(diǎn)對(duì)應(yīng)兩個(gè)分辨率)狀態(tài)欄和標(biāo)題欄高個(gè)25px或者25dip橫屏是屏幕寬度533px或者800dip,工作區(qū)域高度295px或者480dip豎屏?xí)r屏幕寬度320px或者480dip,工作區(qū)域高度508px或者775dipdensity=240時(shí) 屏幕實(shí)際分辨率為480px*800px(一個(gè)點(diǎn)對(duì)于一個(gè)分辨率)狀態(tài)欄和標(biāo)題欄高個(gè)38px或者25dip橫屏是屏幕寬度800px或者800dip,工作區(qū)域高度442px或者480dip豎屏?xí)r屏幕寬度480px或者480dip,工作區(qū)域高度762px或者775dipapk的資源包中,當(dāng)屏幕density=240時(shí)使用hdpi 標(biāo)簽的資源當(dāng)屏幕density=160時(shí),使用mdpi標(biāo)簽的資源當(dāng)屏幕density=120時(shí),使用ldpi標(biāo)簽的資源。不加任何標(biāo)簽的資源是各種分辨率情況下共用的。*引用 Android上dip、dp、px、sp等單位說明本文引用自shixin20051108Android上dip、dp、px、sp等單位說明dip: device independent pixels(設(shè)備獨(dú)立像素). 不同設(shè)備有不同的顯示效果,這個(gè)和設(shè)備硬件有關(guān),一般我們?yōu)榱酥С諻VGA、HVGA和QVGA 推薦使用這個(gè),不依賴像素。px: pixels(像素). 不同設(shè)備顯示效果相同,一般我們HVGA代表320x480像素,這個(gè)用的比較多。pt: point,是一個(gè)標(biāo)準(zhǔn)的長度單位,1pt1/72英寸,用于印刷業(yè),非常簡(jiǎn)單易用;sp: scaled pixels(放大像素). 主要用于字體顯示best for textsize。=關(guān)于換算(以 sp 和 pt為例)查看 TextView 等類的源碼,可知:case COMPLEX_UNIT_PX:return value;case COMPLEX_UNIT_SP:return value * metrics.scaledDensity;case COMPLEX_UNIT_PT:return value * metrics.xdpi * (1.0f/72);scaledDensity = DENSITY_DEVICE / (float) DENSITY_DEFAULT;xdpi = DENSITY_DEVICE;DENSITY_DEFAULT = DENSITY_MEDIUM = 160;=所以: 假設(shè) pt 和 sp 取相同的值 1,則可設(shè) 1pt 和 1sp 之間系數(shù)為x,1 * DENSITY_DEVICE / 72 = x * 1 * DENSITY_DEVICE / 160 =>x = 160 / 72 = 2.2222也就是說在 Android 中, 1pt 大概等于 2.22sp=什么是Dip和Sp過去,程序員通常以像素為單位設(shè)計(jì)計(jì)算機(jī)用戶界面。例如,定義一個(gè)寬度為300像素的表單字段,列之間的間距為5個(gè)像素,圖標(biāo)大小為1616像素等。這樣處理的問題在于,如果在一個(gè)每英寸點(diǎn)數(shù)(dpi)更高的新顯示器上運(yùn)行該程序,則用戶界面會(huì)顯得很小。在有些情況下,用戶界面可能會(huì)小到難以看清內(nèi)容。與分辨率無關(guān)的度量單位可以解決這一問題。Android支持下列所有單位。px(像素):屏幕上的點(diǎn)。in(英寸):長度單位。mm(毫米):長度單位。pt(磅):1/72英寸。dp(與密度無關(guān)的像素):一種基于屏幕密度的抽象單位。在每英寸160點(diǎn)的顯示器上,1dp = 1px。dip:與dp相同,多用于android/ophone示例中。sp(與刻度無關(guān)的像素):與dp類似,但是可以根據(jù)用戶的字體大小首選項(xiàng)進(jìn)行縮放。為了使用戶界面能夠在現(xiàn)在和將來的顯示器類型上正常顯示,建議大家始終使用sp作為文字大小的單位,將dip作為其他元素的單位。當(dāng)然,也可以考慮使用矢量圖形,而不是用位圖*dip: device independent pixels(設(shè)備獨(dú)立像素).不同設(shè)備有不同的顯示效果,這個(gè)和設(shè)備硬件有關(guān),一般我們?yōu)榱酥С諻VGA、HVGA和QVGA 推薦使用這個(gè),不依賴像素。px: pixels(像素).不同設(shè)備顯示效果相同,一般我們HVGA代表320x480像素,這個(gè)用的比較多。pt: point,是一個(gè)標(biāo)準(zhǔn)的長度單位,1pt1/72英寸,用于印刷業(yè),非常簡(jiǎn)單易用;sp: scaled pixels(放大像素).主要用于字體顯示best for textsize。由此,根據(jù) google 的建議,TextView 的字號(hào)最好使用 sp 做單位,而且查看TextView的源碼可知 Android 默認(rèn)使用 sp 作為字號(hào)單位。在 Android 中, 1pt 大概等于 2.22sp以上供參考,如果 UI 能夠以 sp為單位提供設(shè)計(jì)是最好的,如果設(shè)計(jì)中沒有 sp的概念,則開發(fā)人員也可以通過適當(dāng)?shù)膿Q算取近似值。過去,程序員通常以像素為單位設(shè)計(jì)計(jì)算機(jī)用戶界面。例如,定義一個(gè)寬度為300像素的表單字段,列之間的間距為5個(gè)像素,圖標(biāo)大小為1616像素等。這樣處理的問題在于,如果在一個(gè)每英寸點(diǎn)數(shù)(dpi)更高的新顯示器上運(yùn)行該程序,則用戶界面會(huì)顯得很小。在有些情況下,用戶界面可能會(huì)小到難以看清內(nèi)容。與分辨率無關(guān)的度量單位可以解決這一問題。Android支持下列所有單位。px(像素):屏幕上的點(diǎn)。in(英寸):長度單位。mm(毫米):長度單位。pt(磅):1/72英寸。dp(與密度無關(guān)的像素):一種基于屏幕密度的抽象單位。在每英寸160點(diǎn)的顯示器上,1dp = 1px。dip:與dp相同,多用于android/ophone示例中。sp(與刻度無關(guān)的像素):與dp類似,但是可以根據(jù)用戶的字體大小首選項(xiàng)進(jìn)行縮放。分辨率:整個(gè)屏是多少點(diǎn),比如800x480,它是對(duì)于軟件來說的顯示單位,以px為單位的點(diǎn)。 density(密度)值表示每英寸有多少個(gè)顯示點(diǎn),與分辨率是兩個(gè)概念。apk的資源包中,當(dāng)屏幕density=240時(shí)使用hdpi標(biāo)簽的資源當(dāng)屏幕density=160時(shí),使用mdpi標(biāo)簽的資源當(dāng)屏幕density=120時(shí),使用ldpi標(biāo)簽的資源。一般android設(shè)置長度和寬度多用dip
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 秋日校園美景校園秋景寫景作文13篇
- 2025年景觀設(shè)計(jì)師職業(yè)技能鑒定試卷(景觀設(shè)計(jì)案例分析與實(shí)踐操作)
- 2025年防水工(初級(jí))防水施工新技術(shù)規(guī)范易錯(cuò)題匯編試卷
- 2025年自動(dòng)抄表系統(tǒng)項(xiàng)目提案報(bào)告
- 產(chǎn)品委托生產(chǎn)及質(zhì)量保證合同協(xié)議書
- 2025年無損檢測(cè)員(初級(jí))無損檢測(cè)案例分析與應(yīng)用鑒定試卷
- 2025年統(tǒng)計(jì)學(xué)專業(yè)期末考試題庫:綜合案例分析題解析與答案
- 遠(yuǎn)程醫(yī)療在2025年助力偏遠(yuǎn)地區(qū)醫(yī)療服務(wù)體系完善的策略分析報(bào)告
- 2025年電商綠色物流行業(yè)綠色物流配送車輛充電設(shè)施建設(shè)與運(yùn)營優(yōu)化報(bào)告
- 農(nóng)村資源評(píng)價(jià)與土地流轉(zhuǎn)協(xié)議
- 陜西2025中考試題及答案
- 供應(yīng)風(fēng)險(xiǎn)管理制度
- 直播間貨盤管理制度
- 2025至2030中國心臟電生理標(biāo)測(cè)、導(dǎo)航和記錄設(shè)備行業(yè)發(fā)展趨勢(shì)分析與未來投資戰(zhàn)略咨詢研究報(bào)告
- 2025泰山護(hù)理職業(yè)學(xué)院教師招聘考試試題
- 2025年重慶市中考?xì)v史真題(原卷版)
- 吉林省國資委監(jiān)管企業(yè)招聘筆試真題2024
- 項(xiàng)目管理中的資源優(yōu)化配置
- 2025年重慶市中考道德與法治試卷真題(含標(biāo)準(zhǔn)答案)
- 2025年北京昌平區(qū)東小口鎮(zhèn)城市協(xié)管員招聘題庫帶答案分析
- (2025)國家公務(wù)員考試時(shí)事政治必考試題庫及答案
評(píng)論
0/150
提交評(píng)論