天天看点

Android 全局改变字体大小的方法

在我们开发项目的时候经常会有改变全局字体大小的需求,下面介绍一种全局的改变字体大小的方法,

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更改的全局字体大小,但是没有重新加载布局所以在当前页面效果不会特别立刻变化,只有在生成新的页面的时候才会加载新的字体大小,所以我一般在当前页面我会获取控件然后手动赋值字体大小,其他页面则不需要,方法不是很好,欢迎大神批评指正。。