Paint.setTextSize()取sp。设计师提供pt尺寸

时间:2012-08-30 21:35:23

标签: android graphics units-of-measurement

所以我得到的这个字体必须在我的应用程序中以9磅的大小使用。这就是我的设计师,一个Android文盲,正在告诉我。没问题:

9 pt = (1 / 72) * 9 = 1 / 8 in.

@ 285 dpi, this means 9 pt = 285/8 px

Being xhdpi, 9 pt = 285 / 16 dp.

纯! 现在我如何将此值转换为sp,以便将其从标题中提供给方法?

由于

1 个答案:

答案 0 :(得分:1)

文档中未指定,但我相当确定Paint.setTextSize()接受像素值,而不是sp值,在这种情况下,您只需要传递像素尺寸(285/8)。问题是试图获得确切的密度,from what I can gather是不可能的。您必须使用密度“桶”值(例如hdpi = 240)。

编辑:如果您实际上是在谈论TextView.setTextSize(),那么您实际上只能使用setTextSize(TypedValue.COMPLEX_UNIT_PT, 9)并跳过整个转化问题。