美文网首页APP开发经验总结
解决修改系统字体大小APP字体跟着变大的问题

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

作者: sirai | 来源:发表于2018-08-02 18:47 被阅读7次

    前言

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

    解决方案

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

     /**
         * 解决修改系统字体大小APP字体跟着变大的问题
         * @param newConfig
         */
        @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;
        }
    

    亲测有效。

    相关文章

      网友评论

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

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