美文网首页
解决修改系统字体大小APP字体跟着变大的问题

解决修改系统字体大小APP字体跟着变大的问题

作者: Coder_吴磊 | 来源:发表于2017-10-10 17:17 被阅读0次

前言

最近在做项目的时候,碰到了这个问题,具体是:app中字体大小用了sp,然后修改手机系统字体大小后,sp设置的文字大小跟着系统变了,导致了布局挤压以及一系列的问题,经过研究找到了解决方法,在此记录一下。

解决方案

  • 把所有sp改成dp,因为dp不会根据系统字体大小设置变化而变化。简单,有效。就是改起来有点累。
  • 通过代码来控制,让app字体不随系统字体变化而变化,具体代码如下:
    @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;
    }

再Application中或者BaseActivity中重写这俩方法就好了。亲测有效。

个人原创文章,请尊重原创,转载请注明出处:吴磊的简书:http://www.jianshu.com/p/a4c29ec5712f

欢迎联系我、提供工作机会:
Github:https://github.com/MondeoWu/GestureUnlock
E-mail:331948214@qq.com
QQ:331948214

相关文章

网友评论

      本文标题:解决修改系统字体大小APP字体跟着变大的问题

      本文链接:https://www.haomeiwen.com/subject/cycbyxtx.html