【问题标题】:Convert font size(in point) in iOS UIFont to Android TextView's size(sp or dp)?将 iOS UIFont 中的字体大小(点)转换为 Android TextView 的大小(sp 或 dp)?
【发布时间】:2011-08-23 21:12:15
【问题描述】:

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

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

iOS 开发文档将 UIFont 大小属性的单位指定为点,但在 Android 的文本视图上使用 px、dp、sp、in 或 mm。

在 Android 上我应该写什么:

<TextView android:textSize="?" />

谢谢!

【问题讨论】:

    标签: android ios android-layout font-size


    【解决方案1】:

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

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

    为了将点大小转换为像素,您可以使用此站点上提供的计算:https://web.archive.org/web/20120415064052/http://www.emdpi.com/screendpi.html

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

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

    【讨论】:

    • 我认为我们应该能够有一个公式,该公式将采用为 iOS 指定的点大小并获得相应的 android 文本大小 (sp)。这可能吗?也许将点大小乘以 2.222222 以获得 sp 大小?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-03
    • 2014-02-13
    • 1970-01-01
    • 2017-06-11
    • 1970-01-01
    • 2010-12-24
    相关资源
    最近更新 更多