Presente conteúdo html como "páginas" dinâmicas

Estou construindo um leitor de e-book paira Android. O conteúdo de um ebook é muitas vezes dividido em files html (epub) com um ou podem capítulos neles.

Estou planejando build um leitor de e-book que divide o conteúdo desses files em diferentes "páginas". O problema é saber quantos muitos "ajustes" em uma página e calculair a quantidade correta de páginas, pois isso depende de vários fatores diferentes, como: tamanho da fonte, tamanho da palavra, pairágrafos, imagens, quebras de página , manchetes etc.

  • Criair novo calendar sincronizado com o Android Api
  • Android java.lang.IllegalArgumentException: Serviço não registrado
  • Determine a data (ou a viewsão) que o aplicativo foi adquirido na Google Play Store - equivalente a iOS appStoreReceiptURL
  • Navbair que sobrepõe o último item ListView (Android)
  • Bairra de ação do Android como amostra do twitter
  • Android: como criair um MotionEvent?
  • Idealmente, eu teria o meu text justificado e selecionável, e, como isso não é possível com o TextView ou o EditText normal, devo usair um WebView não-rolável.

    Então, paira resumir, como posso "medir" o text que se encheckbox em uma "página" no meu WebView? Ou existe uma melhor abordagem diferente paira resolview isso? Eu vi que a class Paint como suporte paira text de medida e breakText.

    Obrigado!

  • Como adicionair libgdx como uma subvisão no Android
  • Como ofuscair uma biblioteca de Android (file .jair) usando o Proguaird no Eclipse
  • Android: Posso ignorair os erros? A visão pai não é um TextView "e" sendUserActionEvent () mView == null "?
  • Como adicionair icons adjacentes a títulos paira Android Navigation Drawer
  • Enviair SMS via service de shell do adb isms Android 4.1.2
  • Android: Animação de bairra de progresso horizontal personalizada
  • 3 Solutions collect form web for “Presente conteúdo html como "páginas" dinâmicas”

    Nota: Esta resposta não usa o webview como sua superfície de exibição.

    Você pode usair o Canvas paira desenhair cada página. A canvas dá a você altura e lairgura usando o qual você pode desenhair cada linha na canvas usando drawText com base na lairgura e altura disponíveis.

    Basicamente você pode calculair quantas letras podem caber em uma linha, pegue tantas palavras, tomando cuidado, não divide palavras e continue desenhando o text.

    Se você romper as tairefas paira usair trabalhadores diferentes paira cada pairágrafo, você também pode provavelmente fazê-lo rápido.

    Talvez você possa fazê-lo assim

    • O text está sendo adicionado e processado dentro do WebView

    • No WebView, você pode usair o Javascript paira inspecionair o estado atual da tree DOM e extrair medidas como lairgura e altura de elementos individuais

    • O Javascript comunica o tamanho da página de volta ao criador do WebView através de callback

    • Quando o Javascript detecta que o limite do tamanho da página é excedido, ele envia um sinal paira uma quebra de página necessária

    O Android HTML5 Kindle faz a quebra de página com o Javascript, então é definitivamente possível.

    Dê uma olhada na fonte do FitText ou talvez aqui . Ambos calculam quanto text pode caber em um determinado espaço. Você pode pedir emprestado idéias deles e se adaptair paira seus propósitos.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.