更改字体大小代码
val configuration = resources.configuration
when (position) {
0 -> configuration.fontScale = 1f
1 -> configuration.fontScale = 1.3.toFloat()
2 -> configuration.fontScale = 1.6.toFloat()
}
//设置文字大小
SPUtils.getInstance().setTextSizeRemind(configuration.fontScale)
//0.85 小, 1 标准大小, 1.15 大,1.3 超大 ,1.45 特大
var metrics = DisplayMetrics()
windowManager.defaultDisplay.getMetrics(metrics)
metrics.scaledDensity = configuration.fontScale * metrics.density
baseContext.resources.updateConfiguration(configuration, metrics)
//刷新页面
recreate()
集成类的Activity 重写
override fun getResources(): Resources {
val res = super.getResources()
val config = Configuration()
config.setToDefaults()
config.fontScale = SPUtils.getInstance().getTextSizeRemind() // 获取每个页面的字体大小
res.updateConfiguration(config, res.displayMetrics)
return res
}
网友评论