From efcec85614ce6dd9d161a82931a6265167320be6 Mon Sep 17 00:00:00 2001 From: Horis <821938089@qq.com> Date: Sun, 16 Jul 2023 21:01:50 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/java/io/legado/app/base/BaseActivity.kt | 1 + .../java/io/legado/app/ui/book/read/page/ReadView.kt | 5 ++++- .../read/page/delegate/HorizontalPageDelegate.kt | 6 +++++- .../app/ui/book/read/page/delegate/PageDelegate.kt | 12 +++++++----- 4 files changed, 17 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/io/legado/app/base/BaseActivity.kt b/app/src/main/java/io/legado/app/base/BaseActivity.kt index cd40bfa79..b6d07a1af 100644 --- a/app/src/main/java/io/legado/app/base/BaseActivity.kt +++ b/app/src/main/java/io/legado/app/base/BaseActivity.kt @@ -41,6 +41,7 @@ abstract class BaseActivity( protected abstract val binding: VB val isInMultiWindow: Boolean + @SuppressLint("ObsoleteSdkInt") get() { return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { isInMultiWindowMode diff --git a/app/src/main/java/io/legado/app/ui/book/read/page/ReadView.kt b/app/src/main/java/io/legado/app/ui/book/read/page/ReadView.kt index d3d1db433..b1ea46cb4 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/page/ReadView.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/page/ReadView.kt @@ -415,7 +415,10 @@ class ReadView(context: Context, attrs: AttributeSet) : */ private fun click(action: Int) { when (action) { - 0 -> callBack.showActionMenu() + 0 -> { + pageDelegate?.dismissSnackBar() + callBack.showActionMenu() + } 1 -> pageDelegate?.nextPageByAnim(defaultAnimationSpeed) 2 -> pageDelegate?.prevPageByAnim(defaultAnimationSpeed) 3 -> ReadBook.moveToNextChapter(true) diff --git a/app/src/main/java/io/legado/app/ui/book/read/page/delegate/HorizontalPageDelegate.kt b/app/src/main/java/io/legado/app/ui/book/read/page/delegate/HorizontalPageDelegate.kt index ee703faf9..0bbe6c06e 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/page/delegate/HorizontalPageDelegate.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/page/delegate/HorizontalPageDelegate.kt @@ -26,12 +26,14 @@ abstract class HorizontalPageDelegate(readView: ReadView) : PageDelegate(readVie curBitmap?.recycle() curBitmap = curPage.screenshot() } + PageDirection.NEXT -> { nextBitmap?.recycle() nextBitmap = nextPage.screenshot() curBitmap?.recycle() curBitmap = curPage.screenshot() } + else -> Unit } } @@ -41,9 +43,11 @@ abstract class HorizontalPageDelegate(readView: ReadView) : PageDelegate(readVie MotionEvent.ACTION_DOWN -> { abortAnim() } + MotionEvent.ACTION_MOVE -> { onScroll(event) } + MotionEvent.ACTION_CANCEL, MotionEvent.ACTION_UP -> { onAnimStart(readView.defaultAnimationSpeed) } @@ -120,7 +124,7 @@ abstract class HorizontalPageDelegate(readView: ReadView) : PageDelegate(readVie if (!hasNext()) return setDirection(PageDirection.NEXT) val y = when { - viewHeight / 2 < startY -> viewHeight.toFloat() * 0.9f + startY > viewHeight / 2 -> viewHeight.toFloat() * 0.9f else -> 1f } readView.setStartPoint(viewWidth.toFloat() * 0.9f, y, false) diff --git a/app/src/main/java/io/legado/app/ui/book/read/page/delegate/PageDelegate.kt b/app/src/main/java/io/legado/app/ui/book/read/page/delegate/PageDelegate.kt index 1dcf8c0fa..4a3beb3bf 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/page/delegate/PageDelegate.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/page/delegate/PageDelegate.kt @@ -141,11 +141,6 @@ abstract class PageDelegate(protected val readView: ReadView) { * 按下 */ fun onDown() { - // 判断snackBar是否显示,并关闭 - if (snackBar.isShown) { - snackBar.dismiss() - } - //是否移动 isMoved = false //是否存在下一章 @@ -187,6 +182,13 @@ abstract class PageDelegate(protected val readView: ReadView) { return hasNext } + fun dismissSnackBar() { + // 判断snackBar是否显示,并关闭 + if (snackBar.isShown) { + snackBar.dismiss() + } + } + open fun onDestroy() { // run on destroy } From 7504bdb108b273030c2f6e5b6feba7f50387d476 Mon Sep 17 00:00:00 2001 From: Horis <821938089@qq.com> Date: Sun, 16 Jul 2023 21:38:10 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/ui/book/read/page/provider/ChapterProvider.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/io/legado/app/ui/book/read/page/provider/ChapterProvider.kt b/app/src/main/java/io/legado/app/ui/book/read/page/provider/ChapterProvider.kt index 4ad3074e0..4cc5db183 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/page/provider/ChapterProvider.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/page/provider/ChapterProvider.kt @@ -91,7 +91,7 @@ object ChapterProvider { private var titleBottomSpacing = 0 @JvmStatic - var typeface: Typeface = Typeface.DEFAULT + var typeface: Typeface? = Typeface.DEFAULT private set @JvmStatic @@ -637,7 +637,7 @@ object ChapterProvider { upLayout() } - private fun getTypeface(fontPath: String): Typeface { + private fun getTypeface(fontPath: String): Typeface? { return kotlin.runCatching { when { fontPath.isContentScheme() && Build.VERSION.SDK_INT >= Build.VERSION_CODES.O -> { @@ -666,7 +666,7 @@ object ChapterProvider { } ?: Typeface.DEFAULT } - private fun getPaints(typeface: Typeface): Pair { + private fun getPaints(typeface: Typeface?): Pair { // 字体统一处理 val bold = Typeface.create(typeface, Typeface.BOLD) val normal = Typeface.create(typeface, Typeface.NORMAL)