所以我得到了这个字体,必须在我的应用程序中以 9 pt 的大小使用。这就是我的设计师,一个安卓文盲,告诉我的。没问题:
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 以便我可以将其提供给标题中的方法?
谢谢
所以我得到了这个字体,必须在我的应用程序中以 9 pt 的大小使用。这就是我的设计师,一个安卓文盲,告诉我的。没问题:
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 以便我可以将其提供给标题中的方法?
谢谢
它没有在文档中指定,但我相当肯定Paint.setTextSize()
接受像素值,而不是 sp 值,在这种情况下,您只需传入像素尺寸 (285/8)。问题是试图得到你的确切密度,据我所知,这是不可能的。您将不得不使用您的密度“桶”值(例如 hdpi = 240)。
编辑:如果你真的在谈论,TextView.setTextSize()
那么你实际上可以使用setTextSize(TypedValue.COMPLEX_UNIT_PT, 9)
并跳过整个转换问题。