36. 简述 getDimension、getDimensionPixelOffset 和 getDimensionPixelSize 三者的区别?
相同点
单位为dp/sp时,都会乘以density,单位为px则不乘
不同点
1、getDimension返回的是float值
2、getDimensionPixelSize,返回的是int值,float转成int时,四舍五入
3、getDimensionPixelOffset,返回的是int值,float转int时,向下取整(即忽略小数值)
37. 浅谈源码中StaticLayout的用法和应用场景?
public StaticLayout(CharSequence source,
int bufstart,
int bufend,
TextPaint paint,
int outerwidth,
Alignment align,
float spacingmult,
float spacingadd,
boolean includepad,
TextUtils.TruncateAt ellipsize,
int ellipsizedWidth) {
this(source, bufstart, bufend, paint, outerwidth, align,
TextDirectionHeuristics.FIRSTSTRONG_LTR, spacingmult,
spacingadd, includepad, ellipsize, ellipsizedWidth, Integer.MAX_VALUE);
}
说明参数的作用:
CharSequence source 需要分行的字符串
int bufstart 需要分行的字符串从第几的位置开始
int bufen