Android 设置全局字体大小

时间:2023-01-17 17:28:22

网上很多另类做法也可以实现字体大小动态变化,不过都是代码侵入式写法,特别的恶心,这都是不会正确的做法,

一、我现在讲的是另外一种实现方式,代码无侵入,实现方式如下:

1.在你的BaseActivity 中添加

    @Override
public Resources getResources() {
Resources resources = super.getResources();
Configuration configuration = resources.getConfiguration();
configuration.fontScale = 2.2f;
resources.updateConfiguration(configuration, resources.getDisplayMetrics());
return resources;
}
2.布局文件中使用sp作为单位进行布局

二、如何让应用不用重新启动生效,在Activity 中 有一个方法 recreate() 方法,调用这个方法,即可实现

三、如果有些内容不想改变大小怎么办,使用dp作为单位进行布局