我是一名视觉设计师,从事Android设计工作,我正在尝试为我们的工程师指定我的PSD文件。我似乎无法找到任何有关在任何Android文档中将点大小转换为SP的文档(只是SP应该用于类型)。
答案 0 :(得分:43)
问题在于它取决于密度。实际上,他们并不是一个很好的测量方法来尝试比较。
积分:异食癖中有12个点,每英寸6个皮卡,因此每英寸72个点(更准确地说是72.27个)。
与设备无关的像素(DP):这些将等于MDPI显示的像素大小,HDPI显示的像素大小的1.5倍,以及XHDPI显示的像素大小的2倍。 (例如12dp = 12px MDPI,18px HDPI,24px XHDPI)。
缩放像素:这些将等同于DP值,但会根据用户偏好缩放为更小或更大。
如果您的设计是72 dpi(Photoshop默认DPI设置),8pt字体相当于8px,MDPI为8px,HDPI为12px,XHDPI为16px,或者所有密度为8dp 。我不知道有多少缩放应用于不同的SP设置,所以你必须将它捕获出去,但基本上我只是给它们模型并让它们从那里适当地调整它们 - 当然它们可以让它漂亮从中直观地看。
答案 1 :(得分:11)
与dp(和减去用户文本大小因子的sp)相反,pt几乎具有完全相同的物理测量。 Dp或多或少是粗略近似值,因为它在宽dpi范围内使用相同的因子。
你不能将pt转换成sp,就像弗拉维奥所说的那样。然而,您可以将pt粗略地转换为dp(在极端情况下为+/- 30%,但至少期望为+/- 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桶值。
更准确的因素:
所以12 pt将会......
您可以对sp使用相同的值,但请记住,这些值可以通过用户设置进行/减少。
答案 2 :(得分:1)
像素和sp之间没有直接映射,因为sps是动态设置的,因为用户在系统设置中更改了设备字体大小。用户可能希望查看更小或更大尺寸的所有应用程序字体。这是操作系统提供的辅助功能。
答案 3 :(得分:1)
^弗拉维奥说的话。但请查看Android开发者网站上的显示指标类概述。你可能会在这里找到你需要的东西...... http://developer.android.com/reference/android/util/DisplayMetrics.html#
答案 4 :(得分:1)
这是一个很好的工具,可以帮助您在各种测量之间进行转换 - 输入您所知道的信息并计算其余信息!
答案 5 :(得分:0)
每英寸72点,每英寸160点(在设备设置中标准字体)。这意味着每72分钟有160sp。 160sp / 72pts简化为20/9。因此,当将pts转换为sp或dp时,请使用 pts * 20/9 。正如其他人已经提到的那样,sp确实因用户的设置而异,所以如果您不希望文本大小随设备设置而变化,请使用dp。