一,前言

近期在优化代码的过程中 发现这么一个问题 测试机有一个小屏的手机 展示的布局文件比较拥挤,而且字体较大。为了优化这一个问题 刚开始以为是字体适配的问题 后来无意中发现在手机的显示设置 -字体中设置为超大的字体 ,这就导致了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();
    }
 }
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐