我正在开发一个应用程序,我有一些字体,我必须给它特定的大小。
我有一份文件指导我查看所有分辨率的字体大小,但在文档中字体的单位是pts。要使用我们的XML,我必须在SP或DP中使用字体大小。
我看到很少有像AngryTools这样的计算器用于不同的单位转换,但似乎它们没有正确转换。
2560x1440: XXX-HDPI :44pts ==? sp或dp
1920x1080: XX-HDPI :33pts ==? sp或dp
1280x720 / 960x720: X-HDPI :22pts ==? sp或dp
640x480: X-HDPI :15pts ==? sp或dp
470x320 / 426x320: MDPI :10pts ==? sp或dp
请帮我解决一些公式或解决方案,以便我们能够继续前进。
答案 0 :(得分:1)
这可能对你有帮助..
public float pixelToDip(Context paramContext, int paramInt)
{
Resources localResources = paramContext.getResources();
return TypedValue.applyDimension(0, paramInt, localResources.getDisplayMetrics());
}
public int pxToDp(int paramInt, Context paramContext)
{
DisplayMetrics localDisplayMetrics = paramContext.getResources().getDisplayMetrics();
return Math.round(paramInt / (localDisplayMetrics.xdpi / 160.0F));
}