From d98abed00ba54354e7baabb796ca27c34e3455bb Mon Sep 17 00:00:00 2001 From: HapeLee <1321903405@qq.com> Date: Mon, 27 Oct 2025 01:06:19 +0800 Subject: [PATCH] =?UTF-8?q?=E6=90=9C=E7=B4=A2=E4=B8=8E=E5=8F=91=E7=8E=B0?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui/book/explore/ExploreShowAdapter.kt | 28 +++++-- .../kazusa/ui/book/search/SearchAdapter.kt | 27 +++++-- .../kazusa/ui/widget/text/AccentBgTextView.kt | 20 ++--- app/src/main/res/layout/item_search.xml | 80 ++++++------------- app/src/main/res/values-zh/arrays.xml | 1 + app/src/main/res/values-zh/strings.xml | 2 +- app/src/main/res/values/arrays.xml | 3 + app/src/main/res/values/strings.xml | 2 +- 8 files changed, 84 insertions(+), 79 deletions(-) diff --git a/app/src/main/java/io/legato/kazusa/ui/book/explore/ExploreShowAdapter.kt b/app/src/main/java/io/legato/kazusa/ui/book/explore/ExploreShowAdapter.kt index c02a5aba9..b7fcb41de 100644 --- a/app/src/main/java/io/legato/kazusa/ui/book/explore/ExploreShowAdapter.kt +++ b/app/src/main/java/io/legato/kazusa/ui/book/explore/ExploreShowAdapter.kt @@ -3,6 +3,7 @@ package io.legato.kazusa.ui.book.explore import android.content.Context import android.os.Bundle import android.view.ViewGroup +import android.widget.LinearLayout import androidx.core.view.isVisible import io.legato.kazusa.R import io.legato.kazusa.base.adapter.ItemViewHolder @@ -11,7 +12,10 @@ import io.legato.kazusa.data.entities.Book import io.legato.kazusa.data.entities.SearchBook import io.legato.kazusa.databinding.ItemSearchBinding import io.legato.kazusa.help.config.AppConfig +import io.legato.kazusa.ui.widget.text.AccentBgTextView +import io.legato.kazusa.utils.dpToPx import io.legato.kazusa.utils.gone +import io.legato.kazusa.utils.spToPx import io.legato.kazusa.utils.visible @@ -53,13 +57,25 @@ class ExploreShowAdapter(context: Context, val callBack: CallBack) : tvIntroduce.text = item.trimIntro(context) val kinds = item.getKindList() if (kinds.isEmpty()) { - tvKind.gone() - tvAuthorKind.gone() + kindContainer.gone() } else { - tvAuthorKind.visible() - tvKind.visible() - val kindText = kinds.joinToString(" • ") - tvKind.text = kindText + kindContainer.visible() + kindContainer.removeAllViews() + kinds.forEach { kind -> + val kindTextView = AccentBgTextView(context).apply { + layoutParams = LinearLayout.LayoutParams( + LinearLayout.LayoutParams.WRAP_CONTENT, + LinearLayout.LayoutParams.WRAP_CONTENT + ).apply { + marginEnd = 6.dpToPx() + } + textSize = 11f + text = kind + setLines(1) + setSingleLine(true) + } + kindContainer.addView(kindTextView) + } } ivCover.load( item.coverUrl, diff --git a/app/src/main/java/io/legato/kazusa/ui/book/search/SearchAdapter.kt b/app/src/main/java/io/legato/kazusa/ui/book/search/SearchAdapter.kt index 4fe1aea7e..796262fb7 100644 --- a/app/src/main/java/io/legato/kazusa/ui/book/search/SearchAdapter.kt +++ b/app/src/main/java/io/legato/kazusa/ui/book/search/SearchAdapter.kt @@ -3,6 +3,7 @@ package io.legato.kazusa.ui.book.search import android.content.Context import android.os.Bundle import android.view.ViewGroup +import android.widget.LinearLayout import androidx.core.view.isVisible import androidx.recyclerview.widget.DiffUtil import io.legato.kazusa.R @@ -11,6 +12,8 @@ import io.legato.kazusa.base.adapter.ItemViewHolder import io.legato.kazusa.data.entities.SearchBook import io.legato.kazusa.databinding.ItemSearchBinding import io.legato.kazusa.help.config.AppConfig +import io.legato.kazusa.ui.widget.text.AccentBgTextView +import io.legato.kazusa.utils.dpToPx import io.legato.kazusa.utils.gone import io.legato.kazusa.utils.visible @@ -135,13 +138,25 @@ class SearchAdapter(context: Context, val callBack: CallBack) : private fun upKind(binding: ItemSearchBinding, kinds: List) = binding.run { if (kinds.isEmpty()) { - tvKind.gone() - tvAuthorKind.gone() + kindContainer.gone() } else { - tvAuthorKind.visible() - tvKind.visible() - val kindText = kinds.joinToString(" • ") - tvKind.text = kindText + kindContainer.visible() + kindContainer.removeAllViews() + kinds.forEach { kind -> + val kindTextView = AccentBgTextView(context).apply { + layoutParams = LinearLayout.LayoutParams( + LinearLayout.LayoutParams.WRAP_CONTENT, + LinearLayout.LayoutParams.WRAP_CONTENT + ).apply { + marginEnd = 4.dpToPx() + } + textSize = 11f + text = kind + setLines(1) + setSingleLine(true) + } + kindContainer.addView(kindTextView) + } } } diff --git a/app/src/main/java/io/legato/kazusa/ui/widget/text/AccentBgTextView.kt b/app/src/main/java/io/legato/kazusa/ui/widget/text/AccentBgTextView.kt index c21eb91ca..66de3a094 100644 --- a/app/src/main/java/io/legato/kazusa/ui/widget/text/AccentBgTextView.kt +++ b/app/src/main/java/io/legato/kazusa/ui/widget/text/AccentBgTextView.kt @@ -2,6 +2,7 @@ package io.legato.kazusa.ui.widget.text import android.content.Context import android.util.AttributeSet +import android.view.Gravity import com.google.android.material.color.MaterialColors import com.google.android.material.textview.MaterialTextView import io.legato.kazusa.R @@ -9,6 +10,7 @@ import io.legato.kazusa.lib.theme.Selector import io.legato.kazusa.utils.ColorUtils import io.legato.kazusa.utils.dpToPx import androidx.core.content.withStyledAttributes +import io.legato.kazusa.utils.spToPx import io.legato.kazusa.utils.themeColor class AccentBgTextView @JvmOverloads constructor( @@ -16,13 +18,14 @@ class AccentBgTextView @JvmOverloads constructor( attrs: AttributeSet? = null ) : MaterialTextView(context, attrs) { - private var radiusPx = 32 + private var radiusPx = 20 init { -// context.withStyledAttributes(attrs, R.styleable.AccentBgTextView) { -// val radiusDp = getDimensionPixelOffset(R.styleable.AccentBgTextView_radius, 0) -// radiusPx = radiusDp -// } + gravity = Gravity.CENTER + includeFontPadding = false + val horizontalPadding = 6.dpToPx() + val verticalPadding = 2.dpToPx() + setPadding(horizontalPadding, verticalPadding, horizontalPadding, verticalPadding) updateBackground() } @@ -32,8 +35,8 @@ class AccentBgTextView @JvmOverloads constructor( } private fun updateBackground() { - val backgroundColor = context.themeColor(com.google.android.material.R.attr.colorPrimaryContainer) - val textColor = context.themeColor(com.google.android.material.R.attr.colorOnPrimaryContainer) + val backgroundColor = context.themeColor(com.google.android.material.R.attr.colorSecondaryContainer) + val textColor = context.themeColor(com.google.android.material.R.attr.colorOnSecondaryContainer) background = Selector.shapeBuild() .setCornerRadius(radiusPx) @@ -43,5 +46,4 @@ class AccentBgTextView @JvmOverloads constructor( setTextColor(textColor) } -} - +} \ No newline at end of file diff --git a/app/src/main/res/layout/item_search.xml b/app/src/main/res/layout/item_search.xml index 8afd7c52f..c670816b9 100644 --- a/app/src/main/res/layout/item_search.xml +++ b/app/src/main/res/layout/item_search.xml @@ -4,10 +4,9 @@ android:layout_width="match_parent" android:layout_height="wrap_content" app:strokeWidth="0dp" - app:cardBackgroundColor="?attr/colorSurfaceContainerLow" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_marginHorizontal="8dp" - android:layout_marginVertical="6dp"> + android:layout_marginVertical="4dp"> @@ -121,77 +118,48 @@ - - - - - - - - - - - - - - + android:textColor="?attr/colorSecondary" + android:lines="1" + android:singleLine="true" + android:text="@string/author" + android:textSize="12sp" /> + android:textSize="11sp" /> + android:textSize="11sp" /> + + + + + \ No newline at end of file diff --git a/app/src/main/res/values-zh/arrays.xml b/app/src/main/res/values-zh/arrays.xml index 1c25a7e44..a42a1727b 100644 --- a/app/src/main/res/values-zh/arrays.xml +++ b/app/src/main/res/values-zh/arrays.xml @@ -168,4 +168,5 @@ 仅显示滑动条 + 所有版本 \ No newline at end of file diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index a300477b9..54545cf70 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -1309,7 +1309,7 @@ Y轴距离 阴影半径 阴影颜色 - 全局阅读设置 + 阅读显示 • 漫画相关 屏幕显示与亮度 阅读行为 翻页控制 diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index 482335c74..18d3f074f 100644 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -194,6 +194,7 @@ @string/official_version @string/beta_release_version + @string/all_version @string/beta_releaseA_version @@ -207,6 +208,7 @@ official_version beta_release_version + all_version beta_releaseA_version @@ -237,4 +239,5 @@ Unlabeled + 所有版本 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 0db9f4d46..05190d9d7 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1310,7 +1310,7 @@ Y轴距离 阴影半径 阴影颜色 - 全局阅读设置 + 阅读显示 • 漫画相关 屏幕显示与亮度 阅读行为 翻页控制