Android 中SP與DP的區(qū)別實例詳解
從一開始寫Android程序,就被告知這些常識
1.長度寬度的數(shù)值要使用dp作為單位放入dimens.xml文件中
2.字體大小的數(shù)值要使用sp作為單位,也放入dimens.xml文件中
然后,就沒有然后了,仿佛潛臺詞就是說,你記住去用就行了.
偶然有一天,當(dāng)我們陰差陽錯地將字體寫成了dp,也是可以工作,而且效果和sp一樣.
這時候,就開始懷疑了,到底有啥區(qū)別呢,dp和sp有什么不同呢?
我們做個簡單的Sample驗證一下,如下,一個布局代碼
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="18sp" android:text="Hello World! in SP" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="18dp" android:text="Hello World! in DP" />
得到的效果是這個樣子

但是,當(dāng)我們進(jìn)入系統(tǒng)設(shè)置中修改字體大小時

再次進(jìn)入之前的界面,發(fā)現(xiàn)了一些不一樣的東西.

由此看來
使用sp作為字體大小單位,會隨著系統(tǒng)的字體大小改變
而dp作為單位則不會.
關(guān)于sp,文檔的描述為:
Scale-independent Pixels – This is like the dp unit, but it is also scaled by the user's font size preference. It is recommend you use this unit when specifying font sizes, so they will be adjusted for both the screen density and the user's preference.
大致意思為
sp除了受屏幕密度影響外,還受到用戶的字體大小影響
通常情況下,建議使用sp來跟隨用戶字體大小設(shè)置
因此通常情況下,我們還是建議使用sp作為字體的單位,除非一些特殊的情況,不想跟隨系統(tǒng)字體變化的,可以使用dp.
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
- Android使用自定義字體的方法
- 解析Android中使用自定義字體的實現(xiàn)方法
- Android Back鍵點(diǎn)擊兩次退出應(yīng)用詳解及實現(xiàn)方法總結(jié)
- Android實現(xiàn)360手機(jī)助手底部的動畫菜單
- 手把手教你用Android自定義餅狀圖
- Android獲取手機(jī)通話記錄的方法
- Android自定義控件實現(xiàn)隨手指移動的小球
- Android Gradle Build Error:Some file crunching failed, see logs for details的快速解決方法
- Android仿新浪微博、QQ空間等帖子顯示(2)
- Android仿新浪微博、QQ空間等帖子顯示(1)
- Android APP使用自定義字體實現(xiàn)方法
相關(guān)文章
Android 提交或者上傳數(shù)據(jù)時的dialog彈框動畫效果
我們在使用支付寶支付的時候會看到類似這種彈框動畫效果,下面通過實例代碼給大家分享android 提交或者上傳數(shù)據(jù)時的彈框動畫效果,感興趣的的朋友參考下2017-07-07
Android開發(fā)之Animations動畫用法實例詳解
這篇文章主要介紹了Android開發(fā)之Animations動畫用法,結(jié)合實例形式詳細(xì)分析了Animations動畫的類型、組成、模式及對應(yīng)的使用技巧,需要的朋友可以參考下2016-02-02
Android自定義View實現(xiàn)圓弧進(jìn)度效果逐步完成過程
在Android開發(fā)中,通過自定義View實現(xiàn)自己想要的效果是作為android開發(fā)程序員的一項必備技能,自定義View對于android開發(fā)來說也是比較難的一項技術(shù)2023-04-04

