android - 如何将 SP 转换为 EM?

标签 android textview

在 API 21 中,引入了 setLetterSpacing(float)。问题是,参数的单位是em。与我合作过的许多应用图形设计师都使用 sp 来测量字母间距。所以如果我被给予

Letter Spacing: 1.6sp

我通常最终会尝试几个 float ,这些 float 将得到与设计者的结果非常相似的结果。简而言之,它不是像素完美的。

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

最佳答案

我相信 sp 和 em 有不同的用途 - sp 用于绝对调整文本大小,而 em 用于相对调整大小。我的猜测是,em 字母间距是文本大小的倍数,因此如果您知道文本大小和所需的间距,则方程将为 spacing_em =间距_sp/text_size_sp

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

关于android - 如何将 SP 转换为 EM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51761322/

相关文章:

java - android setText() 多个textView

android - 创建 View 后如何更改编辑文本

android - measure() 不适用于动态布局和 textView - Android

java - Jsoup显示数据到textview

android - 无法访问预加载的 SQLite 数据库文件

java - 无法获取 BottomNavigationView 的 id

java - 如何从媒体播放器创建音频文件

java - 无法编辑/更新 xml 文件

android - 将音频文件重叠到一个

java - 如何在android中创建一个方形文本框