Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Presentar contenido html como "páginas dinámicas"

Estoy construyendo un lector de libros electrónicos para Android. El contenido de un libro electrónico a menudo se divide en archivos html (epub) con uno o capítulos en ellos.

Estoy planeando construir un lector de libros electrónicos que divida el contenido de esos archivos en diferentes "páginas". El problema es saber cuántos textos "encajan" en una página y calcular la cantidad correcta de páginas, ya que depende de varios factores, como: tamaño de fuente, tamaño de palabra, párrafos, imágenes, salto de página , Titulares, etc.

  • Android AudioRecord forzando otro flujo a la fuente de audio MIC
  • Android: adjunta datos a las vistas
  • Actionbar transparente con AppCompat-v7 21
  • ¿Cómo podemos crear hilanderos similares a iPhone en android?
  • ¿Cómo funciona el servicio de mensajería de Google Cloud en Android?
  • Crear una notificación persistente e impedir la notificación en la barra de estado
  • Idealy i tendría mi texto justificado y seleccionable, y puesto que eso no es posible con TextView normal o EditText debo utilizar un WebView no-scrollable.

    Así que para resumir, ¿cómo puedo "medir" la cantidad de texto que encaja en una "página" en mi WebView? ¿O hay un mejor enfoque diferente para resolver esto? Vi que la clase Paint como soporte para texto de medida y breakText.

    ¡Gracias!

  • ¿El android tiene * nativo * imagen de la ayuda SVG como recursos drenables (iconos)?
  • SparseArray, compruebe si existe clave
  • ¿Cómo puedo determinar si Android puede manejar PDF?
  • Android DescargarManager Progreso
  • ¿Cómo puedo dar un efecto de clic de vista de imagen como un botón en Android?
  • Firebase Android: Se ha producido un error interno.
  • 3 Solutions collect form web for “Presentar contenido html como "páginas dinámicas"”

    Nota: Esta respuesta no utiliza la vista web como su superficie de visualización.

    Puede utilizar el lienzo para dibujar cada página. El lienzo le da su altura y el ancho con el que puede dibujar cada línea en el lienzo utilizando drawText basado en el ancho y la altura disponible.

    Básicamente puede calcular cuántas letras pueden encajar en una línea, tomar muchas palabras, teniendo cuidado de no dividir las palabras y seguir dibujando el texto.

    Si rompe las tareas para utilizar diferentes trabajadores para cada párrafo, también puede hacerlo rápido.

    Tal vez usted puede hacerlo de esta manera

    • El texto se agrega y se representa dentro de WebView

    • En WebView, puede utilizar Javascript para inspeccionar el estado actual del árbol DOM y extraer medidas como el ancho y la altura de elementos individuales

    • Javascript comunica de nuevo el tamaño de la página al creador de WebView mediante una devolución de llamada

    • Cuando JavaScript detecta que se supera el umbral de tamaño de página, envía una señal para un salto de página necesario

    Android HTML5 Kindle hace la página que rompe con Javascript por lo que es definitivamente posible.

    Echa un vistazo a la fuente de FitText o tal vez aquí . Ambos figuran cuánto texto puede caber en un espacio dado. Usted puede ser capaz de pedir prestado ideas de ellos y adaptarse a sus propósitos.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.