? ? ? ?1、文字大?。╰ext size),指定設(shè)備上顯示的文字像素高度;
? ? ? ?2、邊距(margin),指定視圖組件間的距離;
? ? ? ?3、內(nèi)邊距(padding),指定視圖外邊框與其內(nèi)容間的距離。
? ? ? ?在南昌APP開發(fā)中,Android使用密度修飾drawable目錄下的圖像文件自動(dòng)適配不同像素密度的屏幕。那么問題來了,假如圖像完成了自動(dòng)適配,但邊距無法縮放適配,又或者用戶配置了大于默認(rèn)值的文字大小,會(huì)發(fā)生什么情況呢?
? ? ? ?為解決這些問題,Android提供了密度無關(guān)的尺寸單位。使用這種單位,可在不同屏幕密度的設(shè)備上獲得同樣的尺寸。無需進(jìn)行麻煩的轉(zhuǎn)換計(jì)算,應(yīng)用運(yùn)行時(shí),Android會(huì)自動(dòng)將這種單位轉(zhuǎn)換成像素單位。圖1展示了這種尺寸單位在Textview上的應(yīng)用。
圖1 應(yīng)用在Textview上的密度無關(guān)尺寸單位(左:MDPI;中:HDPI;右:HDPI+大字體)
? ? ? ?1、dp(或dip)
? ? ? ?英文density-independent pixel的縮寫,意為密度無關(guān)像素。在設(shè)置邊距、內(nèi)邊距或任何不打算按像素值指定尺寸的情況下,通常都使用dp這種單位。如果設(shè)備屏幕密度較高,密度無關(guān)像素會(huì)相應(yīng)擴(kuò)展至整個(gè)屏幕。1dp單位在設(shè)備屏幕上總是等于1/160英寸。使用dp的好處是,無論屏幕密度如何,總能獲得同樣的尺寸。
? ? ? ?2、sp
? ? ? ?英文scale-independent pixel的縮寫,意為縮放無關(guān)像素。它是一種與密度無關(guān)的像素,這種像素會(huì)受用戶字體偏好設(shè)置的影響。我們通常會(huì)使用sp來設(shè)置屏幕上的字體大小。
?
? ? ? ?3、pt、mm、in
? ? ? ?類似于dp的縮放單位。允許以點(diǎn)(1/72英寸)、毫米或英寸為單位指定用戶界面尺寸。但在實(shí)際開發(fā)中不建議使用這些單位,因?yàn)椴⒎撬性O(shè)備都能按照這些單位進(jìn)行正確的尺寸縮放配置。
? ? ? ?以上Android開發(fā)中常用到的幾種尺寸單位,大家可以了解一下!最后,百恒網(wǎng)絡(luò)想說的是,在實(shí)際開發(fā)中,我們一般情況下只會(huì)用到dp和sp兩種單位。Android在運(yùn)行時(shí)會(huì)自動(dòng)將它們的值轉(zhuǎn)換為像素單位。