Как я могу преобразовать очки в sp или dp для размера шрифта в Android?
Я работаю над приложением, в котором у меня есть несколько шрифтов, для которых я должен указать конкретный размер.
У меня есть документ для указания размеров шрифта для всех разрешений, но в документе единица шрифта pts. Чтобы работать с нашими XML, я должен использовать размер шрифта либо в SP, либо в DP.
Я видел несколько калькуляторов, таких как AngryTools, для различных конверсий, но кажется, что они не конвертируются правильно.
2560x1440: XXX-HDPI: 44 балла ==? зр или дп
1920x1080: XX-HDPI: 33 очка ==? зр или дп
1280x720 / 960x720: X-HDPI: 22pt ==? зр или дп
640x480: X-HDPI: 15pt ==? зр или дп
470x320 / 426x320: MDPI: 10 точек ==? зр или дп
Пожалуйста, помогите мне с формулой или решением, чтобы мы могли двигаться вперед.
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));
}