Измерьте высоту текста (с собственным шрифтом)

Я программирую игру для Android и мне нужно узнать высоту текста, чтобы правильно разместить текст.

Я рисую на холсте в SurfaceView, как это:

paint.setTypeface(tfSign);
    paint.setColor(Color.WHITE);
    paint.setTextSize(24);

    canvas.drawText("Level", table[1].getX(), table[1].getY()+measureTextHeight("Level " + Integer.toString(plant[currentViewPoint - 1].getLevel()), paint), paint);

как видите, я использую метод для измерения высоты текста:

public int measureTextHeight(String text, Paint paint) {
    Rect result = new Rect();
    // Measure the text rectangle to get the height
    paint.getTextBounds(text, 0, text.length(), result);
    return result.height();
}

Но этот метод, похоже, возвращает ложную высоту. Я думаю, это потому, что я использую пользовательский шрифт?

Надеюсь, вы можете сказать мне, как я могу получить правильную высоту текста! Спасибо:)

0 ответов

Другие вопросы по тегам