安卓APP的字体大小设置不受系统字体大小的影响

一,前言

近期在优化代码的过程中 发现这么一个问题 测试机有一个小屏的手机 展示的布局文件比较拥挤,而且字体较大。为了优化这一个问题 刚开始以为是字体适配的问题 后来无意中发现在手机的显示设置 -字体中设置为超大的字体 ,这就导致了APP里面的字体也受影响了,字体变小或变大,对原来布局会产生影响,用户体验不好。当我改为标准字体时并没有任何问题 ,打开微信和淘宝等app发现他们的字体并没有随着系统字体的大小而改变,所以找到了原因 并设置了下边这个方法,可以全局调整字体大小。

二,解决方案 重写Activity的 getResources() 方法,例如在你的BaseActivity中

public class BaseActivity extends AppCompatActivity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }
 
    /**
     * 重写getResources()方法,让APP的字体不受系统设置字体大小影响
     */
    @Override
    public Resources getResources() {
        Resources res = super.getResources();
        Configuration config = new Configuration();
        config.setToDefaults();
        res.updateConfiguration(config, res.getDisplayMetrics());
        return res;
    }
 
    @Override
    public void onDestroy() {
        super.onDestroy();
    }
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值