代码之家  ›  专栏  ›  技术社区  ›  user1506104

如何将SP转换为EM?

  •  0
  • user1506104  · 技术社区  · 6 年前

    在API 21中, setLetterSpacing(float) 被介绍了。问题是,参数在 相对长度单位 单位。我曾与许多应用程序图形设计师合作过 服务提供商 测量字母间距。所以如果给我

    字母间距:1.6sp

    我通常会尝试几个浮点数,结果会得到与设计师非常相似的结果。简言之,它不是完美的像素。

    你知道从SP转换到EM的更好方法吗?谢谢!

    3 回复  |  直到 6 年前
        1
  •  2
  •   Frandall    6 年前

    基于 android documentation 关于维度 服务提供商 表现得像 DP公司 但字体大小。转换可能会导致基于屏幕大小和分辨率的不一致,但这里的公式I found :

    sp * 0.0624 = em
    
        2
  •  1
  •   Akash Gaonkar    6 年前

    我相信sp和em有不同的用途——sp用于绝对大小文本,em用于相对大小。我的猜测是em字母间距是文本大小的倍数,所以如果你知道文本的大小和所需的间距,公式是 spacing_em = spacing_sp / text_size_sp .

    这只是一个猜测,所以请测试一下,如果答案是错的,我会删除它。

        3
  •  0
  •   AADProgramming    6 年前

    正如Frandall已经提供的答案,您可以使用一个简单的 sp-em转换器 在下面的链接

    https://chrisdavies.github.io/sp-to-em/

    将sp转换为em的公式为: sp*0.0624=em

    轻微膨胀的典型值约为 0.05分