android动态改变TextView字体大小遇到的问题

在 resources 的 dimen 中定义了字体大小,通过代码赋值

view.setTextSize(R.dimen.fontsize)

通过这种方法赋值的字体大小和预期的并不相符,原因是 setTextSize()方法中的字体单位是 sp,而通过 R.dimen 获取的字体单位是px

如果要得到预期的字体带下,setTextSize 传参单位必须是 sp

注意:

Paint.setTextSize() 参数单位 px

TextView.setTextSize() 参数单位 sp

TextView.getTextSize() 获值单位 px