我想在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并不同意这种计算方法。你能让我知道我的理解有什么不妥吗?
答案 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();