Android系统的文字设置变更会影响到应用页面的展示,一般的APP都是禁止跟随系统文字设置进行变化的。那么针对系统文字适配的过程中,
1、针对系统字体变更的应对方法:
(1)可以通过在AndroidMainfest.xml中配置configChange="fontScale"规避Activity生命周期的重启,当系统设置发生变更时,会引起当前应用的重启,声明周期变更为onDestroy()->onCreate()->onRestoreInstanceState()->onResume();如果设置了fontScale,声明周期变更为onRestart()->onResume()。
(2)设置字体单位为DIP/DP,可以避免页面字体跟随系统字体设置发生变化。虽然Android建议使用SP为单位,但是在效果面前,我们还是跟着需求走吧。具体原因在2中讲述。
添加fontscale时
06-20 11:16:35.139 23009-23009/com.example.demo_1 I/zheng.li: onCreate()
06-20 11:16:35.159 23009-23009/com.example.demo_1 I/zheng.li: onResume()
按HOMO键,进入后台,切换系统文字大小
06-20 11:16:41.062 23009-23009/com.example.demo_1 I/zheng.li: onPause()
06-20 11:16:41.259 23009-23009/com.example.demo_1 I/zheng.li: onSaveInstanceState()
06-20 11:16:41.260 23009-23009/com