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);

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容