如何将pt转换为sp?

我是一个可视化devise师,从事Androiddevise工作,我正在努力为我们的工程师指定我的PSD文件。我似乎无法find任何有关在任何Android文档中将点大小转换为SP的文档。该SP应该用于types)。

Solutions Collecting From Web of "如何将pt转换为sp?"

问题是这取决于密度。 真的,他们不是很好的测量来比较。

  • 要点 :在一个异食癖12点,每英寸6皮卡,所以每英寸72(更准确地说72.27)点。

  • 设备无关像素(DP) :这些将等于MDPI显示器的像素大小,HDPI显示器的像素大小的1.5倍,XHDPI显示器的像素大小的2倍。 (例如12dp = 12px MDPI,18px HDPI,24px XHDPI)。

  • 缩放像素 :这些将等同于DP值,但根据用户偏好缩小或缩小。

如果以72 dpi(Photoshop默认DPI设置)进行devise,8pt字体将相当于8px,MDPI为8px,HDPI为12px,XHDPI为16px,对于所有密度则为8dp。 我不知道有多大的缩放比例可以应用到不同的SP设置上,所以你不得不去打猎,但是基本上我只是给他们模型,让他们从这里适当地resize – 当然,他们可以得到它漂亮从视觉上closures。

与dp(而sp与减去用户文本大小因子)相比,pt几乎完全相同的物理测量。 Dp或多或less是一个粗略的近似值,因为它在宽dpi范围内使用相同的因子。

像弗拉维奥所说的那样,你不能把PT转换成SP。 但是,您可以将pt大致转换为dp(在极端情况下为+/- 30%,但至less预计为+/- 10%)。

使用dpi桶(ldp = 120,mdpi = 160,hdpi = 240,xhdpi = 320),最通用的转换因子是x0.45 (= 72/120 * 0.75 = 72/160 * 1 = 72/240 * 1 ,5 = 72/320 * 2)如果使用确切的dpi桶值。

更精确的因素:

  • mdpi(缩放因子:1.0)10.1“WXGA屏幕(149dpi)是0.483076923 (= 72/149 * 1.0)
  • hdpi(缩放因子:1.5)Nexus 7(216dpi)为0.5 (= 72/216 * 1.5)
  • xhdpi(缩放因子:2.0)Nexus 10(300dpi)为0.48 (= 72/300 * 2)

所以12点将在…

  • 10.1“WXGA:24.84dp
  • Nexus 7:24 dp
  • Nexus 10:25dp
  • dpi桶值:26.666dp

你可以使用sp的相同值,但请记住,这些可以通过用户设置进入/减less。

像素和sp之间没有直接映射,因为sps是随用户在系统设置中更改设备字体大小而dynamic设置的。 用户可能希望以较小或较大的尺寸查看所有的应用程序字体。 这是操作系统提供的辅助function。

^ Flavio说了什么。 但请查看Android开发者网站上的显示指标类概览。 你可能会在这里find你需要的东西… http://developer.android.com/reference/android/util/DisplayMetrics.html#

这是一个很好的工具,可以帮助您在各种测量之间进行转换 – input您所知道的信息,然后计算剩余的信息!

http://angrytools.com/android/pixelcalc/

每英寸有72点,每英寸有160点( 在设备设置中标准字体大小 )。 这意味着每72分钟有160sp。 160sp / 72pts简化为20/9。 所以当转换点到SP或DP使用PTS * 20/9。 正如其他人已经提到的那样,sp会根据用户的设置而有所不同,所以如果您不希望文本大小随设备设置而改变,请使用dp。