2012-12-25 60 views
5

我有我的android設備上的html文件的集合。我需要以特殊方式在我的應用程序中顯示它們:我想將長頁面拆分爲幾個較小的部分,以便它們可以適合設備高度。我不確定是否可以通過內置設施來實現這一目標。我該怎麼處理這個問題?如何使用WebView以電子書閱讀器的方式顯示HTML頁面?

+0

當頁面太大而不適合屏幕時,我想有可能將內容移動到下一頁。我不想滾動。 – x2bool

回答

3

你可能不應該在這裏使用的WebView。

試試下面的辦法:

可以使用Canvas繪製每一頁。畫布會給你它的高度&寬度。使用此功能,您可以使用Drawtext根據可用的高度&,在畫布上繪製每條線。

所以你基本上應該計算一行中可以放入多少個字母,多取幾個字,注意你不要分割任何單詞並不斷繪製文本。你也可以使用不同的工作線程來處理不同的段落,以使渲染速度更快。

希望這有助於!

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

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

那麼OP的問題中的分頁怎麼樣? – Maarten

+0

哦,我想我誤解了你的答案。我認爲你的意思是'爲每個頁面加載不同的HTML'。你可以對這個答案做一個簡單的編輯,這樣我可以解除我的downvote? – Maarten

0

建立自己的HTML解析閱讀器的缺點,除了使用CSS和JavaScript將內容拆分爲頁面之外,我想不出任何其他方式。

您可以使用的庫的一個示例是Monocle。我沒有用過它自己,但主頁上說你可以用它來渲染...

... XHTML文件具有定義的線性級數和可選的節或層次的嵌套層次 - 這就是支持的。全綵。

相關問題