我如何将pt转换为sp android

时间:2014-02-18 21:05:52

标签: android android-fonts

我试过以下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);
    }

2 个答案:

答案 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;