修改android手机设置中字体大小后导致页面布局混乱的问题

2017-03-30  本文已影响0人  回望北斗之南

在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());

returnres;

}

在这段代码中new了一个Configuration对象,并通过 setToDefaults()方法将其设为了系统默认的配置,此方法要想生效需调用Resources的updateConfiguration (Configurationconfig, DisplayMetrics metrics)方法。

我一般使用第二种方法,这样的话,不论在设置中怎样更改字体大小都会显示我们定义的大小,不会导致屏幕布局混乱。

上一篇下一篇

猜你喜欢

热点阅读