Quiero crear un lector de texto, que cortará el texto y lo colocará en el TextView (representa mis páginas) y uno después del otro. Estos están contenidos en un ViewFlipper (representa todo mi texto), lo que me permite pasar las páginas.Android: ¿Cómo puedo saber cuántos textos pueden caber en mi textView (mi página)?
Por contra No puedo cortar mi texto de forma inteligente. Por ahora, limito cada TextView a una cantidad de caracteres, pero es muy inestable. De hecho, algunas cartas ocupan más espacio que otras. No podemos usar este método.
¿Cómo podemos saber qué cantidad de texto ingresará en un TextView?
He intentado encontrar el tamaño máximo de mi Vista manualmente. Invoqué en:
float test = view.getPaint().measureText(myString);
Funciona bien. Cuando coloco 480 letras (0 y 1), llego a 14,400 y mi texto está completamente dentro de la pantalla. Con:
1 -> 12.0
0 -> 12.0
é -> 11.0
\n -> 13.0
\r -> 7.0
totales para llenar la página -> 14400
El problema es que los saltos de línea y retorno de carro están causando problemas.
Si solo tengo letras o números en mi cadena, todo bien: si respetamos el tamaño máximo de 14,400, todo se muestra en la pantalla. ¡No hay problema!
Por contra, si una línea se rompe o un retorno de carro, no funciona. Incluso si respetamos el límite de 14400, el texto anterior no se muestra por completo.
Esto se debe a que el método "measureText";.." Sólo devuelve 13 para un salto de línea Pero es raro, un salto de línea debe representar al menos el 480 para que sea coherente
Cómo hacer los editores de libros electrónicos (luna lector, Aldiko +) para el texto con formato a ser tan bueno? Cada página tiene la misma altura, el texto termina en el mismo lugar ..
¿Te encontrar alguna solución? – Arslan