老年人刷新闻两宝:字体放大跟语音朗读,今天我们往项目中加入调整字号大小的功能。

第一步 声明并实例化所需要的字号集合
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])
            )
        }

完成!