我试过以下cosde工作4.0但不能在4.0以上工作,如何将pt转换为sp来设置textview字体大小。
public static int pixelsToSp(int pt) {
DisplayMetrics metrics = new DisplayMetrics();
return (int) (pt * metrics.densityDpi / metrics.scaledDensity);
}
答案 0 :(得分:1)
// We need to get some Android resources from conext in order to calculate proper pixel dimensions from sp
Resources resources = getResources();
// Calculate pixel dimension
int pixels = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, your_sp_value, resources.getDisplayMetrics());
我用它来计算dip的像素,它就像魅力一样,但你必须能够访问上下文才能获得所需的资源。
答案 1 :(得分:0)
您需要访问context
。
float scaledDensity = context.getResources().getDisplayMetrics().scaledDensity;
return pt/scaledDensity;