工作日志记录:在应用的开发过程中,适配的问题是我认为最难处理的,这里碰到一个问题就是当用户的手机字体大小不一样时,你的应用还能保证它的字体适配合适而不导致应用的适配出现杂乱不堪的问题吗?如果不做特殊处理,一般来说是极有可能出现问题的。本文将介绍这个问题的解决办法。
在应用的Application类中或者你的activity类(如果需要所有界面不受影响就在你的基类Activity中)中可以加入以下代码:
@Override public Resources getResources() { Resources res = super.getResources(); if(res.getConfiguration().fontScale!=1) { Configuration configuration = new Configuration(); configuration.setToDefaults(); res.updateConfiguration(configuration, res.getDisplayMetrics()); } return res; }
其中res.getConfiguration.fontscale=1是系统默认的标准字体的大小,这个方法getResource()是继承自ContextWrapper类,实现了Context类的抽象方法,而ContextWrapper是Context的实现类。所以这个方法从架构上来源于Context上下文类。真是巧妙。