Android: Как мне узнать, сколько текста может вписаться в мой текстовый просмотр (мою страницу)?

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

К минусам я не могу резать свой текст разумно. На данный момент я ограничиваю каждый текстовый просмотр к ряду символов, но он очень нестабилен. Действительно, некоторые буквы занимают больше места, чем другие. Мы не можем использовать этот метод.

Как мы можем знать, какое количество текста вступает в текстовый просмотр?

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

float test = view.getPaint().measureText(myString);

это хорошо работает. Когда я положил 480 букв (0 и 1), я добираюсь до 14 400, и мой текст полностью на экране. С:

1  -> 12.0
0  -> 12.0
é  -> 11.0
\n -> 13.0
\r ->  7.0

Всего заполнить страницу -> 14400

Проблема в том, что линия разрывы и возврат каретки вызывают проблемы.

Если у меня есть только буквы или цифры в моей строке, так хорошо: если мы уважаем максимальный размер 14 400, все отображается на экране. Нет проблем!

К минусам, если перерывы линии или возвращение каретки, она не работает. Даже если мы уважаем предел 14400, текст выше и не полностью отображается.

Это связано с тем, что метод «измерения»; «Возвращает 13 для перерыва линий. Но это странно, разрыв линии должен содержать как минимум 480, чтобы сделать его последовательным.

Как публикаторы Ebook (Moon Reader, + Aldiko) для текста, который будет отформатирован так хорошо? Каждая страница имеет ту же высоту, текст заканчивается в том же месте ..

9
задан fedorqui 2 March 2015 в 15:12
поделиться