老年人刷新闻两宝:字体放大跟语音朗读,今天我们往项目中加入调整字号大小的功能。
第一步 声明并实例化所需要的字号集合
lateinit var sizeList: ArrayList<Int>
private fun initTextSize() {
sizeList = ArrayList()
sizeList.addAll(listOf(R.dimen.qb_px_38,R.dimen.qb_px_42,R.dimen.qb_px_48,R.dimen.qb_px_52,R.dimen.qb_px_56))
}
集合中的R.dimen.qb_px_xx信息可参考屏幕适配方案Android开发屏幕适配之smallestWidth
第二步 调用方法改变文字大小
var sizePosition = 1
R.id.tv_jianxiao -> {
if (sizePosition == 0) {
ToastUtils.normal("字号已最小")
return
}
tv_content.setTextSize(
TypedValue.COMPLEX_UNIT_PX,
resources.getDimension(sizeList[--sizePosition])
)
}
R.id.tv_zengda -> {
if (sizePosition == sizeList.size-1) {
ToastUtils.normal("字号已最大")
return
}
tv_content.setTextSize(
TypedValue.COMPLEX_UNIT_PX,
resources.getDimension(sizeList[++sizePosition])
)
}
完成!