Android App字体不受系统字体大小影响

由于公司的App面向的用户有小部分人是“大叔”级别的,他们喜欢把系统字体设置得很大,为了App字体不受系统字体大小影响,于是在网上搜了一下,大概有2中解决办法。

更新App的配置

简单的来说,就是重写我们BaseActivity的getResources方法

@Override
public void onConfigurationChanged(Configuration newConfig) {
    if (newConfig.fontScale != 1)//非默认值
        getResources();    
    super.onConfigurationChanged(newConfig);
}

@Override
public Resources getResources() {
     Resources res = super.getResources();
     if (res.getConfiguration().fontScale != 1) {//非默认值
        Configuration newConfig = new Configuration();       
        newConfig.setToDefaults();//设置默认        
        res.updateConfiguration(newConfig, res.getDisplayMetrics()); 
     }    
     return res;
}

这样有个坏处,我尝试使用过这种方法,会导致UI线程执行到这里会有卡顿现象!

所以我们可以使用第二种方法。

使用dp来设置文字的大小

我们设置字体大小,一般都使用“sp”作为单位的,我们来说说“sp”和“dp”的区别:

  • 使用sp作为字体大小单位,会随着系统的字体大小改变
  • dp作为单位则不会

所以我们在设置字体时,如果不想布局由于系统字体大小影响的,可以使用“dp”作为字体的单位。

没有这方便需求的,我们还是以“sp”作为字体单位。

这里只做一下记录!!

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值