Я пытаюсь понять, как работает функция 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 на максимальный размер текста этого столбца. Но не могу понять, почему ширина здесь такая же. Пожалуйста, помогите!