視覺輸出,文字標註究竟用sp還是dp?
是這樣的,前不久,日簽君發布了一張關於「字體大小」的日簽,針對這張日簽產生了3個觀點。然而,我司小姐姐對這三個觀點則持有不同的看法,不如大家一起來幫忙鑒別一下吧!
△靈感日簽
首先,需要聲明的是,以下觀點均是基於Android系統,不包含iOS系統!按照Android開發規範,文字尺寸使用sp表示,其餘尺寸用dp表示。
觀點1:
數值上sp等於dp,都無所謂吧
dp的全稱是Density Independent Pixels,即密度獨立像素。
如果直接使用像素(px)標註的話,UI元素在低密度屏幕上看起來較大,在高密度屏幕上則看起來較小。
根據公式,px=dp*dpi/160,以160dpi屏幕為標準,1dp=1px;
△圖源自medium
sp全稱為Scale Independent Pixels,它是安卓的字體單位。
當字體標準是100%時,px=sp*dpi/160,以160dpi屏幕為標準,1sp=1px
儘管sp與dp一樣是物理像素,但Android系統允許用戶自定義文字尺寸大小,因此文字大小會受系統設置而呈現不同效果。
看公式,是不是覺得確實數值上sp等於dp?但是這是在一個限定條件下。
當字體標準是100%時,它們是這樣的
而當字體標準大於100%時,1sp就會大於1dp
觀點2:
文字也應該用dp,使用sp的話,文字大小會隨著系統設置而改變,當系統字型大小設置很大時,APP必然會顯示錯亂。
本著「實踐是檢驗真理的唯一標準」的理念,且Android規範由Google制定,故而選擇了Google自家的產品「新聞與天氣」進行了測試,測試機型為小米MIX2,截取了在不同系統字型大小下,該產品的顯示情況
可以看到,在6個系統字型大小下,基本都是完美適配。
而針對固定行高的導航欄和Tab欄,google都事先預留了一定的空間,從而讓sp標註的文字適應布局。
但是頂部的"Headlines"因為使用了dp標註,所以沒有產生變化。猜測是為了保持頂部的一致性。
觀點3:
現在不少設計師在標註的時候不再用sp了。
根據觀點1的結論看來,dp標註的文字不會隨著系統字型大小的變化而變化,貌似dp確實要比sp好,畢竟這樣不會影響到產品本身的版式。
但使用dp標註時,就需要產品本身內置可調整字型大小大小的方案,否則用戶既無法通過產品自身改變字型大小,又無法通過系統改變字型大小。
因此,若產品本身對字型大小沒有需求(排版優化、banner廣告等除外),且不打算內置字型大小調整功能的話,最好還是可以參照規範,使用sp進行標註。當然也存在著sp與dp同時存在的情況。
以kindle為例,作為一款閱讀類的軟體,對閱讀時的字型大小可能會基於不同情況進行調整,而瀏覽其他功能時並沒有那麼強的需求。故而,kindle針對電子書的文字使用了dp標註,而其他內容則使用sp進行標註。
(當然在測試過程中,我們也遇上了一些大廠一刀切地使用sp/dp......)
總結
綜合以上三個觀點結果來看,不盲從所謂的趨勢、傳言!反而是結合自身的產品需求以及用戶場景進行思考。
在哪些場景下人們會調整字型大小呢?哪些人群會使用較大的字型大小呢?我想Google建議文字使用sp標註,是不想用戶在調整了系統字型大小後,還要挨個去產品裡面調字型大小吧
推薦閱讀:
※每周設計精選 #3
※設計應該怎麼學?
※BAFTA:一個靈活的身份系統,成為靈感和創造力的展示
※《大腦視錯覺破譯》你還記得這張「旋轉的裸女」GIF圖嗎?