Android 快速、简便的改变字体大小

在看此之前,先看这篇。

android改变全局字体大小

 

看完之后我们再开始。

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

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值