android提供重写getResources()方法,这个方法效果是全局的。
根据这个方法可以实现:
1、app内文字的大小不受到用户在系统设置中对文字大小调整的影响
2、实现app内文字大小动态改变的需求
分别上代码:
第一种情况:
@Override
public Resources getResources() {
Resources res = super.getResources();
Configuration config=new Configuration();
config.setToDefaults();
res.updateConfiguration(config,res.getDisplayMetrics());
return res;
}
第二种情况:
@Override
public Resources getResources() {
Resources res = super.getResources();
Configuration config = res.getConfiguration();
config.fontScale = getFontScale();// 获取当前用户设置的文字增缩比例
res.updateConfiguration(config, res.getDisplayMetrics());
return res;
}