将iOS UIFont中的字体大小(in point)转换为Android TextView的大小(sp或dp)?

时间:2011-05-12 06:57:30

标签: android ios android-layout font-size

我正在寻找一种从UIFont的大小转换为Android TextView的textSize属性的方法,例如:

[UIFont fontWithName:@"HelveticaNeue" size:14];

iOS Dev Doc将UIFont尺寸属性的单位指定为点,但在Android的文本视图中使用px,dp,sp,in或mm。

在Android上我应该写什么:

<TextView android:textSize="?" />

谢谢!

1 个答案:

答案 0 :(得分:3)

如果您检查Android Developers site,它将为您提供TextView的相应格式和大小调整单位。您有:px(像素),dp(与密度无关的像素),sp(基于首选字体大小的缩放像素),(英寸)或毫米(毫米)。

以点为单位定义的字体实际上以物理英寸定义。转换是最直接的,可能是最差的方法,但你可以通过简单地将点大小乘以点与物理英寸的比率来转换为英寸:1/72

要将点数转换为像素,您可以使用此网站提供的计算:http://www.emdpi.com/screendpi.html

某些信息是针对Windows的,但基本方法也适用于Android,前提是您可以识别屏幕dpi。此方法将为您提供适当的像素值(px),这对TextView字体大小有效。

注意,TextView建议使用缩放像素(sp)与TextView一起使用,因此您可能需要做一些额外的工作来以编程方式将字体缩放到屏幕大小。