2012-12-25 4 views
5

Ho una collezione di file html sul mio dispositivo Android. Ho bisogno di visualizzarli nella mia applicazione in un modo speciale: voglio dividere le pagine lunghe a pochi pezzi più piccoli, in modo che possano adattarsi all'altezza del dispositivo. Non sono sicuro che sia possibile raggiungere questo obiettivo con le strutture integrate. Cosa posso fare con questo problema?Come utilizzare WebView per visualizzare le pagine html nel modo ebook reader?

+0

Quando una pagina è troppo grande per adattarsi allo schermo, voglio avere la possibilità di spostare un contenuto alla pagina successiva. Non voglio scorrere. – x2bool

risposta

3

Probabilmente non deve usare un WebView qui.

provare il seguente approccio:

È possibile utilizzare il Canvas per disegnare ogni pagina. La tela ti darà la sua altezza & larghezza. Usando questo è possibile disegnare ogni linea sulla tela utilizzando Drawtext in base alla larghezza & altezza che sono disponibili.

Quindi, in pratica, calcoleresti quante lettere possono essere contenute in una riga, prendi tante parole, facendo attenzione a non dividere le parole e continua a disegnare il testo. Inoltre è possibile utilizzare diversi thread di lavoro per lavorare su diversi paragrafi per rendere più veloce il rendering.

Spero che questo aiuti !!!!

0
String summary = "<html><body>You scored <b>192</b> points.</body></html>"; 
webview.loadData(summary, "text/html", null); 

o

String yourhtmlpage = "<html><body>You scored <b>hello world</b> points.</body></html>"; 
webview.loadDataWithBaseURL(null, yourhtmlpage, "text/html", "UTF-8", null); 
+0

Quindi, per quanto riguarda l'impaginazione nella domanda dell'OP? – Maarten

+0

Oh, penso di aver frainteso la tua risposta. Penso che tu intenda "caricare in HTML diverso per ogni pagina". Potresti fare una modifica banale a questa risposta in modo da poter annullare il mio downvote? – Maarten

0

A corto di creare il proprio lettore di analisi HTML, non riesco a pensare ad altro che usare CSS e JavaScript per dividere il contenuto in pagine.

Un esempio di libreria che è possibile utilizzare è Monocle. Non ho usato io stesso, ma la pagina principale dice che si può utilizzare per il rendering ...

... file XHTML con una progressione lineare definita, e opzionalmente una gerarchia annidata di sezioni o capitoli - che è supportato. A colori.

Problemi correlati