Android 设置系统影响界面解决方案

如果要像微信一样,所有字体都不允许随系统调节而发生大小变化,要怎么办呢?利用Android的Configuration类中的fontScale属性,其默认值为1,会随系统调节字体大小而发生变化,如果我们强制让其等于默认值,就可以实现字体不随调节改变,在工程的Application或BaseActivity中添加下面的代码:

@OverridepublicvoidonConfigurationChanged(Configuration newConfig){

if(newConfig.fontScale !=1)//非默认值getResources();

super.onConfigurationChanged(newConfig);

}

@Override

public Resources getResources(){   

 Resources res =super.getResources();

if(res.getConfiguration().fontScale !=1) {

//非默认值

Configuration newConfig =newConfiguration();            

  newConfig.setToDefaults();

//设置默认

res.updateConfiguration(newConfig, res.getDisplayMetrics());      

}

return res;

}

解决WebView不随系统字体大小而改变 

webView.getSettings().setTextZoom(100);

你可能感兴趣的:(Android 设置系统影响界面解决方案)