您的位置:首页 > 移动开发 > Android开发

两种解决修改android手机设置中字体大小后系统布局混乱的方法

2016-04-22 15:07 1111 查看
在android开发中针对字体大小的设置,虽然google推荐使用sp作为字体的单位,但是如果用户在系统设置的”显示“中修改了系统默认的字体大小。就会直接影响到所有sp为单位的字体适配,所以很多app在设置了系统字体后瞬间变得面目全非。针对该问题,大概有两种解决思路:1、不用sp作为系统字体的单位,改用dp,这在一些应用中也是很常见的(反编译QQ,貌似就是这样做的);2、重写getResource()方法,可以在activity基类(app中所有的activity都应该有继承于我们自己定义的一个activity类)中加上以下代码:

@Override
public Resources getResources() {
Resources res = super.getResources();
Configuration config = new Configuration();
config.setToDefaults();
res.updateConfiguration(config, res.getDisplayMetrics());
return res;
}


在这段代码中new出来了一个Configuration对象,并通过 setToDefaults() 方法将其设为了系统默认的配置,此方法要想生效需调用Resources的updateConfiguration (Configuration config, DisplayMetrics metrics)方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: