Понимание функции Paint.measureText - PullRequest
0 голосов
/ 05 августа 2020

Я пытаюсь понять, как работает функция Paint.measureText () в android. Я пробовал отмерить две струны. Мой код выглядит следующим образом.

val textPaint=TextPaint().apply {
    textSize = 10f
    textAlign = Paint.Align.LEFT
    color = Color.BLACK
    typeface = Typeface.create("Arial", Typeface.NORMAL)
}
val emailLength=textPaint.measureText("iockeerthikaagencies@gmail.com")
val nineteenWLength=textPaint.measureText("WWWWWWWWWWWWWWWWWWW")
Log.d("TAG","Email text width: $emailLength")
Log.d("TAG","W text width: $nineteenWLength")

Удивительно, но результат выглядит следующим образом:

D/TAG: Email text width: 173.0
D/TAG: W text width: 171.0

Оба они почти одинаковой ширины. Однако я использовал Excel для ввода этих двух строк и обнаружил, что они сильно различаются по ширине. Я использовал тот же шрифт Arial с размером шрифта 10 и TypeFace со значением Normal как в коде, так и в Excel. Excel выглядит следующим образом:

введите описание изображения здесь

Очевидно, есть огромная разница в ширине между этими двумя. Может ли кто-нибудь объяснить, что пошло не так и почему measureText возвращает одинаковые значения, когда между обоими текстами такая разница? Для информации ширина одиночной строки W «W» возвращает 9,0

Я пытаюсь вычислить и установить ширину столбца Excel на максимальный размер текста этого столбца. Но не могу понять, почему ширина здесь такая же. Пожалуйста, помогите!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...