From 1645efa765bf99cb556d73bc5b9f8b470022629f Mon Sep 17 00:00:00 2001 From: jsbxyyx Date: Fri, 5 Jul 2024 12:20:38 +0800 Subject: [PATCH] =?UTF-8?q?epub=E7=BF=BB=E9=A1=B5=E9=AB=98=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/assets/www/epub.html | 6 ++--- .../github/jsbxyyx/xbook/ViewActivity.java | 7 ++++-- .../github/jsbxyyx/xbook/common/UiUtils.java | 23 +++++++++++++++++++ 3 files changed, 31 insertions(+), 5 deletions(-) create mode 100644 app/src/main/java/com/github/jsbxyyx/xbook/common/UiUtils.java diff --git a/app/src/main/assets/www/epub.html b/app/src/main/assets/www/epub.html index cf46a51..3e1581d 100644 --- a/app/src/main/assets/www/epub.html +++ b/app/src/main/assets/www/epub.html @@ -50,7 +50,7 @@ position: fixed; width: 100%; height: 70px; - bottom: 5px; + bottom: 20px; z-index: 1000; } .focus { @@ -153,10 +153,10 @@ console.log('book_id:' + book_id + ', cur:' + cur + ', pages:' + pages); var page_tool_ele = document.getElementById('page-tool'); -var pageToolHeight = page_tool_ele.clientHeight; +var pageToolHeight = page_tool_ele.offsetHeight; var epub_tool_ele = document.getElementById('epub-tool'); -var epubToolHeight = epub_tool_ele.clientHeight; +var epubToolHeight = epub_tool_ele.offsetHeight; page_tool_ele.style.color = gold_theme['body']['color']; page_tool_ele.style.background = gold_theme['body']['background']; diff --git a/app/src/main/java/com/github/jsbxyyx/xbook/ViewActivity.java b/app/src/main/java/com/github/jsbxyyx/xbook/ViewActivity.java index 4454dd8..c79b6f8 100644 --- a/app/src/main/java/com/github/jsbxyyx/xbook/ViewActivity.java +++ b/app/src/main/java/com/github/jsbxyyx/xbook/ViewActivity.java @@ -13,6 +13,7 @@ import com.github.jsbxyyx.xbook.common.DataCallback; import com.github.jsbxyyx.xbook.common.LogUtil; import com.github.jsbxyyx.xbook.common.SPUtils; +import com.github.jsbxyyx.xbook.common.UiUtils; import com.github.jsbxyyx.xbook.data.BookDbHelper; import com.github.jsbxyyx.xbook.data.BookNetHelper; import com.github.jsbxyyx.xbook.data.bean.Book; @@ -48,6 +49,8 @@ protected void onCreate(Bundle savedInstanceState) { bookDbHelper = new BookDbHelper(this); bookNetHelper = new BookNetHelper(); + int navH = UiUtils.getNavigationBarRealHeight(this); + Intent intent = getIntent(); String file_path = intent.getStringExtra("file_path"); bookId = intent.getStringExtra("book_id"); @@ -116,8 +119,8 @@ protected void onCreate(Bundle savedInstanceState) { String url = String.format( "http://127.0.0.1:%s/%s/%s?%s", port, www, html, - String.format("cur=%s&pages=%s&book_id=%s&name=%s&t=%s", - cur, pages, bookId, name, System.currentTimeMillis()) + String.format("cur=%s&pages=%s&book_id=%s&name=%s&t=%s&navh=%s", + cur, pages, bookId, name, System.currentTimeMillis(), navH) ); webView.loadUrl(url); } catch (IOException e) { diff --git a/app/src/main/java/com/github/jsbxyyx/xbook/common/UiUtils.java b/app/src/main/java/com/github/jsbxyyx/xbook/common/UiUtils.java new file mode 100644 index 0000000..f6ba062 --- /dev/null +++ b/app/src/main/java/com/github/jsbxyyx/xbook/common/UiUtils.java @@ -0,0 +1,23 @@ +package com.github.jsbxyyx.xbook.common; + +import android.app.Activity; +import android.graphics.Rect; +import android.util.DisplayMetrics; +import android.view.View; +import android.view.Window; +import android.view.WindowManager; + +public class UiUtils { + + public static int getNavigationBarRealHeight(Activity activity) { + Window window = activity.getWindow(); + View decorView = window.getDecorView(); + Rect rect = new Rect(); + decorView.getWindowVisibleDisplayFrame(rect); + DisplayMetrics outMetrics = new DisplayMetrics(); + WindowManager windowManager = window.getWindowManager(); + windowManager.getDefaultDisplay().getRealMetrics(outMetrics); + return outMetrics.heightPixels - rect.bottom; + } + +}