10),直接深入到关键代码:
public int getDimensionPixelSize(int index, int defValue)
public static int complexToDimensionPixelSize(int data,DisplayMetrics metrics)
public static float applyDimension(int unit, float value,DisplayMetrics metrics){
switch (unit) {
case COMPLEX_UNIT_PX:
return value;
case COMPLEX_UNIT_DIP:
return value * metrics.density;
case COMPLEX_UNIT_SP:
return value * metrics.scaledDensity;
case COMPLEX_UNIT_PT:
return value * metrics.xdpi * (1.0f/72);
case COMPLEX_UNIT_IN:
return value * metrics.xdpi;
case COMPLEX_UNIT_MM:
return value * metrics.xdpi * (1.0f/25.4f);
}
return 0;
}
unit就是指单位类型,这个怎么来的我没有,但我想它肯定是在解析xml是根据不同单位转换的。
内容就这些,希望对你有用,欢迎拍砖!