從一開始寫Android程序,就被告知這些常識
1.長度寬度的數(shù)值要使用dp作為單位放入dimens.xml文件中
2.字體大小的數(shù)值要使用sp作為單位,也放入dimens.xml文件中
然后,就沒有然后了,仿佛潛臺(tái)詞就是說,你記住去用就行了.
偶然有一天,當(dāng)我們陰差陽錯(cuò)地將字體寫成了dp,也是可以工作,而且效果和sp一樣.
這時(shí)候,就開始懷疑了,到底有啥區(qū)別呢,dp和sp有什么不同呢?
我們做個(gè)簡單的Sample驗(yàn)證一下,如下,一個(gè)布局代碼
<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" />
得到的效果是這個(gè)樣子

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

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

由此看來
使用sp作為字體大小單位,會(huì)隨著系統(tǒng)的字體大小改變
而dp作為單位則不會(huì).
關(guān)于sp,文檔的描述為:
Scale-independent Pixels 主站蜘蛛池模板: 南开区| 五峰| 长宁区| 永修县| 金山区| 金昌市| 大化| 乾安县| 黑水县| 沽源县| 汶川县| 祁连县| 达拉特旗| 新晃| 综艺| 呼图壁县| 江源县| 屏东市| 平顺县| 达孜县| 五莲县| 晋中市| 平塘县| 新绛县| 桂东县| 木兰县| 民权县| 星子县| 定日县| 海兴县| 阳曲县| 江源县| 巴林左旗| 文成县| 宿州市| 昌黎县| 平江县| 曲松县| 库车县| 芜湖县| 伊川县|