TextView的textSize与getDimensionPixelSize的坑

Android中的TextView直接对textSize赋值时,显示的结果和预期的差别很大,找了好久的原因,终于找到了说法,是textSize默认赋值时使用的是sp单位,而values中dimens中定义的是另一种单位,比如dp,这样就导致两者单位不同,显示也就有很大的差异。

要解决这个问题,只需要在给textSize赋值时指定相应的单位。为此,不能直接用textSize=xxx的赋值方式,必须改用setTextSize的方法赋值方式。比如

 textView.setTextSize(TypedValue.COMPLEX_UNIT_PX,resources.getDimensionPixelSize(R.dimen.default_text_size)*1f)


你可能感兴趣的:(Android)