在看此之前,先看这篇。
看完之后我们再开始。
1. 我不太喜欢原文中的从结束到开始的写文方式,会让看的人从头开始都是莫名其妙,这些是怎么来的,看到后面才知道是后面的,那为何不怎么开始就怎么写呢,你的写作顺序不就是解决方法的顺序吗?
2.开始正题:原文中会定义
<attr name="textsize" format="reference|dimension" />
<attr name="textsize2" format="reference|dimension" />
<attr name="textsize3" format="reference|dimension" />
三个size,使用的时候又会写这么多
<dimen name="tset_small">12sp</dimen>
<dimen name="tset_middle">16sp</dimen>
<dimen name="tset_big">20sp</dimen>
<dimen name="tset_small2">18sp</dimen>
<dimen name="tset_middle2">22sp</dimen>
<dimen name="tset_big2">26sp</dimen>
<dimen name="tset_small3">22sp</dimen>
<dimen name="tset_middle3">26sp</dimen>
<dimen name="tset_big3">30sp</dimen>
如果按照这样使用,一个变化的我们写一个,整个项目那么多个那得写多少个?回过头我们想想,我们的目的是什么,要将字体变大而已,成比例变大而已,那么为何不直接下面这样呢:
首先,定义个标准的使用字号:
<attr name="sp_10" format="reference|dimension" />
<attr name="sp_11" format="reference|dimension" />
<attr name="sp_12" format="reference|dimension" />
<attr name="sp_13" format="reference|dimension" />
<attr name="sp_14" format="reference|dimension" />
<attr name="sp_15" format="reference|dimension" />
<attr name="sp_16" format="reference|dimension" />
<attr name="sp_17" format="reference|dimension" />
<attr name="sp_18" format="reference|dimension" />
<attr name="sp_19" format="reference|dimension" />
<attr name="sp_20" format="reference|dimension" />
然后写实际的字号:
<dimen name="sp_10">10sp</dimen>
<dimen name="sp_11">11sp</dimen>
<dimen name="sp_12">12sp</dimen>
<dimen name="sp_13">13sp</dimen>
<dimen name="sp_14">14sp</dimen>
<dimen name="sp_15">15sp</dimen>
<dimen name="sp_16">16sp</dimen>
<dimen name="sp_17">17sp</dimen>
<dimen name="sp_18">18sp</dimen>
<dimen name="sp_19">19sp</dimen>
<dimen name="sp_20">20sp</dimen>
在设置主题时,我们的标准(默认)字号就是普通的style:
<style name="TextSize_Default">
<item name="sp_10">@dimen/sp_10</item>
<item name="sp_11">@dimen/sp_11</item>
<item name="sp_12">@dimen/sp_12</item>
<item name="sp_13">@dimen/sp_13</item>
<item name="sp_14">@dimen/sp_14</item>
<item name="sp_15">@dimen/sp_15</item>
<item name="sp_16">@dimen/sp_16</item>
<item name="sp_17">@dimen/sp_17</item>
<item name="sp_18">@dimen/sp_18</item>
<item name="sp_19">@dimen/sp_19</item>
</style>
那如果要加大一号呢?把后面的值加大一号不就行了吗?
<style name="TextSize_Middle">
<item name="sp_10">@dimen/sp_11</item>
<item name="sp_11">@dimen/sp_12</item>
<item name="sp_12">@dimen/sp_13</item>
<item name="sp_13">@dimen/sp_14</item>
<item name="sp_14">@dimen/sp_15</item>
<item name="sp_15">@dimen/sp_16</item>
<item name="sp_16">@dimen/sp_17</item>
<item name="sp_17">@dimen/sp_18</item>
<item name="sp_18">@dimen/sp_19</item>
<item name="sp_19">@dimen/sp_20</item>
</style>
大两号,少一号不都是一样的道理吗?
我们写布局时,就按照标准的写,要多少就写成多少:
android:textSize="?sp_14"
虽然说在BaseActivity里设置就可以了。但是单Activity模式更简单,直接在Activity里设置。
强烈推荐 QMUI_Android