Как я могу преобразовать очки в 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));
}
Другие вопросы по тегам