首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将pt转换为sp?

如何将pt转换为sp?
EN

Stack Overflow用户
提问于 2012-11-16 03:05:23
回答 5查看 63K关注 0票数 43

我是一个视觉设计师,在一个android设计上工作,我正试图为我们的工程师规范我的PSD文件。我似乎找不到任何有关转换为任何Android文档中的点大小转换为SP的类型的文件。(只是SP应该用于类型)。

EN

回答 5

Stack Overflow用户

发布于 2012-11-16 04:19:50

问题是它依赖于密度。真的,它们不是很好的比较指标。

  • Points:每英寸有12个点,每英寸6微卡,所以每英寸72 (更准确地说是72.27)点。
  • Device-Independent像素(DP):这将等于MDPI显示的像素大小、HDPI显示的1.5倍像素大小和XHDPI显示的2倍像素大小。(例如,12dp = 12px MDPI,18px HDPI,24px XHDPI).
  • Scaled像素:这些将等同于DP值,但根据用户偏好调整为更小或更大。

如果你以72dpi (Photoshop默认dpi设置)进行设计,8pt字体将相当于8px,在MDPI时为8px,在HDPI时为12px,在XHDPI时为16px,或者更简单地为所有密度的8dp。我不知道对不同的SP设置应用了多大的伸缩性,所以你必须找出它,但基本上我会给他们模型,让他们从那里适当地调整大小--他们肯定可以从那里获得相当接近的视觉效果。

票数 45
EN

Stack Overflow用户

发布于 2013-06-05 21:35:21

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

您不能像Flavio所说的那样将pt转换为sp。但是,您可以粗略地将pt转换为dp (在极端情况下为+/- 30%,但至少需要+/-10%)。

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

有关更精确的因子:

  • mdpi (比例因子: 1.0) 10.1“WXGA屏幕(149dpi)是0.483076923 (= 72/149 * 1.0)
  • hdpi (比例因子: 1.5) Nexus7 (216dpi)是0.5 (= 72/216 *1.5)

<代码>H111xhdpi(比例因子: 2.0) Nexus10 (300dpi)是<代码>E1120.48<代码>E213 (= 72/300 *2)<代码>H214<代码>F215

所以12分将会在...

  • 10.1“WXGA: 24.84dp
  • Nexus 7: 24 dp
  • Nexus10: 25dp
  • dpi存储桶值: 26.666dp

您可以对sp使用相同的值,但请记住,这些值可能在用户设置中/由用户设置减少。

票数 13
EN

Stack Overflow用户

发布于 2012-11-16 03:07:59

像素和sp之间没有直接映射,因为sp是随着用户在系统设置中更改设备字体大小而动态设置的。用户可能希望看到所有较小或较大大小的应用程序字体。它是操作系统提供的辅助功能。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13404377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档