From d529b4154837c48ecb1d3efbd1f90c683aa27a7b Mon Sep 17 00:00:00 2001 From: HapeLee <1321903405@qq.com> Date: Tue, 3 Jun 2025 04:05:25 +0800 Subject: [PATCH] Update --- README.md | 49 ++----------------- .../app/ui/book/info/BookInfoActivity.kt | 28 ++++++----- .../app/ui/widget/text/ScrollTextView.kt | 3 +- .../main/res/layout/activity_book_info.xml | 12 +++-- .../main/res/layout/item_bookshelf_grid.xml | 22 +++++---- app/src/main/res/layout/view_label_item.xml | 20 ++++++++ 6 files changed, 61 insertions(+), 73 deletions(-) create mode 100644 app/src/main/res/layout/view_label_item.xml diff --git a/README.md b/README.md index 226103bce..02a1aed41 100644 --- a/README.md +++ b/README.md @@ -1,22 +1,5 @@ # [English](English.md) [中文](README.md) -[![icon_android](https://github.com/gedoor/gedoor.github.io/blob/master/static/img/legado/icon_android.png)](https://play.google.com/store/apps/details?id=io.legado.play.release) - -idea - - -
-legado - -Legado / 开源阅读 -
-gedoor.github.io / legado.top -
-Legado is a free and open source novel reader for Android. -
- -[![](https://img.shields.io/badge/-Contents:-696969.svg)](#contents) [![](https://img.shields.io/badge/-Function-F5F5F5.svg)](#Function-主要功能-) [![](https://img.shields.io/badge/-Community-F5F5F5.svg)](#Community-交流社区-) [![](https://img.shields.io/badge/-API-F5F5F5.svg)](#API-) [![](https://img.shields.io/badge/-Other-F5F5F5.svg)](#Other-其他-) [![](https://img.shields.io/badge/-Grateful-F5F5F5.svg)](#Grateful-感谢-) [![](https://img.shields.io/badge/-Interface-F5F5F5.svg)](#Interface-界面-) - >注意,此版本为Material Design 3风格重构版本,目前正快速更新。 > > @@ -39,9 +22,6 @@ Legado is a free and open source novel reader for Android. 9.软件开源,持续优化,无广告。 - - # - # Community-交流社区 [![](https://img.shields.io/badge/-Community-F5F5F5.svg)](#Community-交流社区-) @@ -54,20 +34,6 @@ Legado is a free and open source novel reader for Android. #### Other https://www.yuque.com/legado/wiki/community - - # - - -# API [![](https://img.shields.io/badge/-API-F5F5F5.svg)](#API-) -* 阅读3.0 提供了2种方式的API:`Web方式`和`Content Provider方式`。您可以在[这里](api.md)根据需要自行调用。 -* 可通过url唤起阅读进行一键导入,url格式: legado://import/{path}?src={url} -* path类型: bookSource,rssSource,replaceRule,textTocRule,httpTTS,theme,readConfig,dictRule,[addToBookshelf](/app/src/main/java/io/legado/app/ui/association/AddToBookshelfDialog.kt) -* path类型解释: 书源,订阅源,替换规则,本地txt小说目录规则,在线朗读引擎,主题,阅读排版,添加到书架 - - - # - - # Other-其他 [![](https://img.shields.io/badge/-Other-F5F5F5.svg)](#Other-其他-) ##### 免责声明 https://gedoor.github.io/Disclaimer @@ -79,11 +45,12 @@ https://gedoor.github.io/Disclaimer * [web端书架](https://github.com/gedoor/legado_web_bookshelf) * [web端源编辑](https://github.com/gedoor/legado_web_source_editor) - - # - # Grateful-感谢 [![](https://img.shields.io/badge/-Grateful-F5F5F5.svg)](#Grateful-感谢-) +> * github.com/gedoor/legado +> * github.com/komikku-app/komikku +> * github.com/FoedusProgramme/Gramophone +> * > * org.jsoup:jsoup > * cn.wanghaomiao:JsoupXpath > * com.jayway.jsonpath:json-path @@ -102,11 +69,3 @@ https://gedoor.github.io/Disclaimer # - -# Interface-界面 [![](https://img.shields.io/badge/-Interface-F5F5F5.svg)](#Interface-界面-) - - - - - # - diff --git a/app/src/main/java/io/legado/app/ui/book/info/BookInfoActivity.kt b/app/src/main/java/io/legado/app/ui/book/info/BookInfoActivity.kt index 9bb230859..e602682a1 100644 --- a/app/src/main/java/io/legado/app/ui/book/info/BookInfoActivity.kt +++ b/app/src/main/java/io/legado/app/ui/book/info/BookInfoActivity.kt @@ -168,7 +168,7 @@ class BookInfoActivity : binding.tvToc.text = getString(R.string.toc_s, getString(R.string.loading)) if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N_MR1) { - binding.tvIntro.revealOnFocusHint = false + binding.tvDetail?.let { it.revealOnFocusHint = false } } viewModel.bookData.observe(this) { showBook(it) } @@ -297,16 +297,16 @@ class BookInfoActivity : } } - override fun dispatchTouchEvent(ev: MotionEvent): Boolean { - if (ev.action == MotionEvent.ACTION_DOWN) { - currentFocus?.let { - if (it === binding.tvIntro && binding.tvIntro.hasSelection()) { - it.clearFocus() - } - } - } - return super.dispatchTouchEvent(ev) - } +// override fun dispatchTouchEvent(ev: MotionEvent): Boolean { +// if (ev.action == MotionEvent.ACTION_DOWN) { +// currentFocus?.let { +// if (it === binding.tvIntro && binding.tvIntro.hasSelection()) { +// it.clearFocus() +// } +// } +// } +// return super.dispatchTouchEvent(ev) +// } private fun refreshBook() { upLoading(true) @@ -343,7 +343,7 @@ class BookInfoActivity : tvAuthor.text = getString(R.string.author_show, book.getRealAuthor()) tvOrigin.text = getString(R.string.origin_show, book.originName) tvLasted.text = getString(R.string.lasted_show, book.latestChapterTitle) - tvIntro.text = book.getDisplayIntro() + tvDetail?.let { it.text = book.getDisplayIntro() } llToc?.visible(!book.isWebFile) upTvBookshelf() upKinds(book) @@ -366,7 +366,9 @@ class BookInfoActivity : lbKind.gone() } else { lbKind.visible() - lbKind.setLabels(kinds) + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.VANILLA_ICE_CREAM) { + lbKind.setLabels(kinds) + } } } } diff --git a/app/src/main/java/io/legado/app/ui/widget/text/ScrollTextView.kt b/app/src/main/java/io/legado/app/ui/widget/text/ScrollTextView.kt index 948146935..1013931bc 100644 --- a/app/src/main/java/io/legado/app/ui/widget/text/ScrollTextView.kt +++ b/app/src/main/java/io/legado/app/ui/widget/text/ScrollTextView.kt @@ -12,6 +12,7 @@ import android.view.animation.Interpolator import android.widget.OverScroller import androidx.appcompat.widget.AppCompatTextView import androidx.core.view.ViewCompat +import com.google.android.material.textview.MaterialTextView import kotlin.math.abs import kotlin.math.max import kotlin.math.min @@ -21,7 +22,7 @@ import kotlin.math.min * 嵌套惯性滚动 TextView */ class ScrollTextView(context: Context, attrs: AttributeSet?) : - AppCompatTextView(context, attrs) { + MaterialTextView(context, attrs) { //是否到顶或者到底的标志 private var disallowIntercept = true diff --git a/app/src/main/res/layout/activity_book_info.xml b/app/src/main/res/layout/activity_book_info.xml index 389270b0a..83fe94f84 100644 --- a/app/src/main/res/layout/activity_book_info.xml +++ b/app/src/main/res/layout/activity_book_info.xml @@ -207,6 +207,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:visibility="gone" /> + @@ -287,7 +288,7 @@ android:includeFontPadding="false" android:paddingRight="6dp" android:singleLine="true" - android:textSize="13sp" + android:textSize="14sp" tools:ignore="NestedWeights,RtlHardcoded,RtlSymmetry" tools:text="@string/read_dur_progress" /> @@ -318,7 +319,7 @@ android:includeFontPadding="false" android:paddingRight="6dp" android:singleLine="true" - android:textSize="13sp" + android:textSize="14sp" tools:ignore="NestedWeights,RtlHardcoded,RtlSymmetry" tools:text="@string/group_s" /> @@ -336,8 +337,8 @@ - diff --git a/app/src/main/res/layout/item_bookshelf_grid.xml b/app/src/main/res/layout/item_bookshelf_grid.xml index b03384816..9139da7a1 100644 --- a/app/src/main/res/layout/item_bookshelf_grid.xml +++ b/app/src/main/res/layout/item_bookshelf_grid.xml @@ -39,6 +39,19 @@ app:layout_constraintEnd_toEndOf="parent" tools:ignore="ImageContrastCheck" /> + + - - diff --git a/app/src/main/res/layout/view_label_item.xml b/app/src/main/res/layout/view_label_item.xml new file mode 100644 index 000000000..04b34a0d1 --- /dev/null +++ b/app/src/main/res/layout/view_label_item.xml @@ -0,0 +1,20 @@ + + + + + + \ No newline at end of file