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