如何将pt转换为sp?

Meg*_*ica 40 android psd units-of-measurement

我是一名视觉设计师,从事Android设计工作,我正在尝试为我们的工程师指定我的PSD文件.我似乎无法找到任何关于在任何Android文档中将点大小转换为SP的文档.(只是SP应该用于类型).

kco*_*ock 44

问题是它取决于密度.实际上,他们并不是一个很好的测量方法来尝试比较.

  • 积分:异食癖有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设置,所以你必须将其捕获,但基本上我只是给它们模型并让它们从那里适当地调整它们 - 当然它们可以让它变得漂亮从那看起来很直观.


pat*_*ckf 13

与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桶值.

有关更精确的因素:

  • 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 pt将会......

  • 10.1"WXGA:24.84dp
  • Nexus 7:24 dp
  • Nexus 10:25dp
  • dpi bucket值:26.666dp

您可以对sp使用相同的值,但请记住,这些值可以由用户设置进/减.


Flá*_*ria 1

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