设置安卓字体大小,不跟随系统
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设置安卓字体大小,不跟随系统相关的知识,希望对你有一定的参考价值。
参考技术A 方式一:禁用系统字体缩放功能方式二:使用自己的自定义字体缩放功能
关于安卓app设置字体大小,且不重启应用的测试:
1.配置字体大小方式:
在Activity的attachBaseContext(context)方法里面配置Configuration.fontScale即可。
2.配置之后的相关问题:
目前修改字体缩放比例之后必须重新进入页面才能生效,就是说设置字体之前开启的所有页面还是使用的设置之前的字体大小,不影响正常功能,关闭之后重新进入就是新配置的字体大小了,可以使用recreate()方法,此方式会走保存状态的逻辑,但是也会执行页面的onDestory()方法。
为了不重启页面,目前采用的间接方式是,遍历获取所有TextView,并根据比例设置缩放比例之后的字体大小,此方式需配合Resources.updateConfiguration(Configuration config, DisplayMetrics metrics)方法使用,updateConfiguration用于更新Resources内部字体大小缩放比例配置,不使用会出现通过其他方式刷新的控件展示的字体回到原来的大小,但是此方式目前被标识为已过时,8.0之后版本不建议使用,所以使用此方式会有高版本适配问题。另外,即使使用此方式,如果页面布局复杂,例如使用RecycleView多嵌套,强制刷新并不能完全生效,测试过程中也出现了多次切换字体大小之后配置无异常,但是字体大小不生效的问题,猜测是页面多次退出进入相关实例被放入缓存,部分配置未更新导致。
以上是关于设置安卓字体大小,不跟随系统的主要内容,如果未能解决你的问题,请参考以下文章