android改变全局字体大小

本文介绍了如何在Android应用中全局改变字体的大小,包括在布局文件、attr资源文件和styles.xml文件中的设置步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.在BaseActivity中覆盖getResources方法
@Override
public Resources getResources() {
    Resources res = super.getResources();
    Configuration config = res.getConfiguration();
    config.fontScale = 1f; //1 设置正常字体大小的倍数
    res.updateConfiguration(config, res.getDisplayMetrics());
    return res;
}
二.利用xml文件
  1.在BaseActivity里

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if (1 == states) {
        setTheme(R.style.Default_TextSize_Small);
    } else if (2 == states) {
        setTheme(R.style.Default_TextSize_Middle);
    } else {
        setTheme(R.style.Default_TextSize_Big);
    }
}

2.在布局里

<TextView
    android:id="@+id/tv_good_title"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="11dp"
    android:layout_marginRight="11dp"
    android:layout_toLeftOf="@id/tv_good_time"
    android:layout_toRightOf="@id/img_good"
    android:textSize="?textsize"
    android:text="@string/defaul_title"
    />

android:textSize="?textsize"
用这种方法,这句话比写,否则没有作用

3.在attr文件里

<resources>
    <attr name="textsize" format="reference|dimension" />
    <attr name="textsize2" format="reference|dimension" />
    <attr name="textsize3" format="reference|dimension" />
</resources>

4.在style文件里申明

<style name="Default_TextSize_Small">
    <item name="textsize">@dimen/tset_small</item>
    <item name="textsize2">@dimen/tset_middle</item>
    <item name="textsize3">@dimen/tset_big</item>
</style>


<style name="Default_TextSize_Middle">
    <item name="textsize">@dimen/tset_small2</item>
    <item name="textsize2">@dimen/tset_middle2</item>
    <item name="textsize3">@dimen/tset_big2</item>
</style>


<style name="Default_TextSize_Big">
    <item name="textsize">@dimen/tset_small3</item>
    <item name="textsize2">@dimen/tset_middle3</item>
    <item name="textsize3">@dimen/tset_big3</item>
</style>
5.dimen里面设置的字体大小

<resources>
    
    <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>
    
</resources>
三.利用style.xml方法

  1.在attr文件里

<resources>
    <attr name="fontsize_1" format="dimension"></attr>
    <attr name="fontsize_2" format="dimension"></attr>
    <attr name="fontsize_3" format="dimension"></attr>
</resources>

2.在styles.xml里


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值