我正在開發一個讀取電子書(以epub格式)的Android應用程序,至於現在我正在使用Paul Siegeman的epublib庫,它確實是一個非常好的epub reader但它有一些限制,例如我需要的一個,你不能水平移動頁面(因爲你閱讀一本真正的書),所以我需要我自己的實現,但我卡住了。如何根據屏幕大小將Epub Html分成頁面
實際讀取EPUB,然後把它網頁視圖內的方法是下一個:
private void openEpub(String bookFilename){
WebView webView = (WebView) findViewById(R.id.webView);
nl.siegmann.epublib.domain.Book book=null;
try {
book = (new EpubReader()).readEpub(new FileInputStream(Environment.getExternalStorageDirectory().getPath() + "/" + bookFilename));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
String baseUrl = Environment.getExternalStorageDirectory().getPath() + "/";
String data=null;
try {
data = new String(book.getContents().get(1).getData());
} catch (IOException e) {
e.printStackTrace();
}
webView.loadDataWithBaseURL(baseUrl, data, "text/html", "UTF-8", null);
}
所以你看我這樣就顯示在網頁視圖電子書,因爲我知道只有滾動的可能性webview提供了上/下。
我在考慮將getData()返回和webview加載的html字符串拆分成頁面並用viewpager逐個顯示它們,但是如何根據屏幕大小正確拆分html?
你認爲這個想法我正確嗎?任何其他解決方案從左到右/從右到左顯示epub(paginate)或任何其他「免費或便宜」庫來執行此操作? (我試過PageTurner,它確實不錯,但商業版本對我來說太貴了)
非常感謝您Jatin,最後也是因爲它是一個重要的項目,我決定買一個閱讀器沒有找到一個解決我的問題後。現在我正在使用Page Turner Reader,它不是免費的,但它只是一個驚人的應用程序。 –