在我们开发项目的时候经常会有改变全局字体大小的需求,下面介绍一种全局的改变字体大小的方法,
public void changeTextSize(Activity activity,int multiple){
Configuration configuration = getResources().getConfiguration();
configuration.fontScale = multiple; //1为标准字体,multiple为放大的倍数
DisplayMetrics displayMetrics = new DisplayMetrics();
activity.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
displayMetrics.scaledDensity = configuration.fontScale*displayMetrics.density;
getBaseContext().getResources().updateConfiguration(configuration,displayMetrics);
}
该方法因为在当前Activity更改的全局字体大小,但是没有重新加载布局所以在当前页面效果不会特别立刻变化,只有在生成新的页面的时候才会加载新的字体大小,所以我一般在当前页面我会获取控件然后手动赋值字体大小,其他页面则不需要,方法不是很好,欢迎大神批评指正。。