网上很多另类做法也可以实现字体大小动态变化,不过都是代码侵入式写法,特别的恶心,这都是不会正确的做法,
一、我现在讲的是另外一种实现方式,代码无侵入,实现方式如下:
1.在你的BaseActivity 中添加
@Override2.布局文件中使用sp作为单位进行布局
public Resources getResources() {
Resources resources = super.getResources();
Configuration configuration = resources.getConfiguration();
configuration.fontScale = 2.2f;
resources.updateConfiguration(configuration, resources.getDisplayMetrics());
return resources;
}
二、如何让应用不用重新启动生效,在Activity 中 有一个方法 recreate() 方法,调用这个方法,即可实现
三、如果有些内容不想改变大小怎么办,使用dp作为单位进行布局