转换' sp'字体大小为' pt'字体大小

时间:2016-12-12 02:10:53

标签: android

我想在xhdpi中将字体大小11sp转换为字体大小pt。 xhdpi的比例应为1:2。

因此,预期的计算应该是:

11sp * 2 = 22pt (font)

但是,它与Zeplin UI中的实际字体大小不匹配。字体大小应该看起来像14-16磅。

如何从sp计算pt中正确的字体大小?

[回复重复问题。] How do I convert pt to sp?

我确实搜索过这个问题,然后再看看。它说计算应该是11 X 2.我理解并同意这个计算。但UI并不同意这种计算方法。你能让我知道我的理解有什么不妥吗?

1 个答案:

答案 0 :(得分:0)

使用我以前的评论,你需要转换为px,当你打电话给api时,发送px和dpi转换为pt。 Px是用于转换为其他格式的最准确的设备无关测量,但您必须记录dpi,否则您的转换将被关闭。

sp> PX  Api通话(px,dpi)  px> PT  做东西  返回图片

更新:从sp转换为px

int mySpValue = 123;
Resources r = mContext.getApplicationContext().getResources();
float px = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, mySpValue, r.getDisplayMetrics());

获取DPI:getting the screen density programmatically in android?

DisplayMetrics metrics = getResources().getDisplayMetrics();