Высота разрыва строки в Android - PullRequest
1 голос
/ 19 января 2012

Теперь у меня есть код, который считает высоту и ширину абзаца и устанавливает его соответственно.Однако у меня возникали эти странные проблемы, когда через мой абзац проходит строка разрыва (\ n), и я использую этот код для вычисления высоты.Я также вычисляю ширину и проверяю правильность линии.

float textSize = t.getTextSize();
Paint paint = new Paint();
paint.setTextSize(textSize);

Однако по какой-то причине для линии разрыва нельзя рассчитать высоту, что означало бы, что я пропустил несколько строк или показало мне половинуline line of break разрывы во время моих выполненных вычислений.

Мой вопрос, как мне пройти вычисление высоты линии разрыва занимаемого пространства?

1 Ответ

0 голосов
/ 06 февраля 2012

Я не смог решить эту проблему. Однако я попытался удалить еще 3 дополнительных символа на краю конечной точки ширины. Это сработало. Однако настоящая проблема заключается больше в ширине символов. Если персонаж не зарегистрирован на Android, расчет по сравнению с фактическим исходом может быть очень разным, если у вас есть буквы, которые полностью отличаются от обычного алфавита.

Используя этот код, вы можете определить край конечной точки.

totalCurrentWidth = t.getPaint().measureText(s.substring(start, end));

Однако символы, не зарегистрированные в системе, могут иметь другой конец или вообще не иметь конца (например, китайский или тайваньский).

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

Если кто-то обнаружит, что что-то не так с моей логикой, не стесняйтесь комментировать меня. В конце концов, я только стремлюсь к улучшению.

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