From b2918df258d3e597a595d913fedfe7741030d7ec Mon Sep 17 00:00:00 2001 From: HapeLee <1321903405@qq.com> Date: Mon, 11 Aug 2025 03:47:04 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B8=85=E7=90=86=E4=BB=A3=E7=A0=81=E4=B8=8E?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=95=8C=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../legato/kazusa/ui/about/AboutActivity.kt | 4 ++ .../ui/book/explore/ExploreShowAdapter.kt | 2 +- .../kazusa/ui/book/info/BookInfoActivity.kt | 2 +- .../kazusa/ui/book/search/SearchAdapter.kt | 6 +- .../io/legato/kazusa/ui/widget/LabelsBar.kt | 24 ++++---- app/src/main/res/layout/activity_about.xml | 32 ++++++++-- .../main/res/layout/activity_book_search.xml | 1 + .../res/layout/dialog_book_change_source.xml | 3 +- .../res/layout/dialog_book_group_picker.xml | 3 +- app/src/main/res/layout/dialog_bookmark.xml | 3 +- .../main/res/layout/dialog_change_cover.xml | 2 +- .../layout/dialog_chapter_change_source.xml | 3 +- app/src/main/res/layout/dialog_code_view.xml | 3 +- .../main/res/layout/dialog_content_edit.xml | 2 +- .../main/res/layout/dialog_dict_rule_edit.xml | 3 +- .../dialog_direct_link_upload_config.xml | 3 +- .../main/res/layout/dialog_file_chooser.xml | 3 +- .../main/res/layout/dialog_font_select.xml | 3 +- .../main/res/layout/dialog_http_tts_edit.xml | 3 +- app/src/main/res/layout/dialog_login.xml | 59 ++++++++----------- .../res/layout/dialog_open_url_confirm.xml | 3 +- .../res/layout/dialog_rss_favorite_config.xml | 3 +- .../main/res/layout/dialog_search_scope.xml | 3 +- .../main/res/layout/dialog_source_picker.xml | 2 +- app/src/main/res/layout/dialog_toc_regex.xml | 3 +- .../main/res/layout/dialog_toc_regex_edit.xml | 3 +- app/src/main/res/layout/dialog_variable.xml | 3 +- .../layout/dialog_verification_code_view.xml | 3 +- .../main/res/layout/dialog_webdav_server.xml | 3 +- app/src/main/res/layout/item_fillet_text.xml | 7 +-- app/src/main/res/layout/item_find_book.xml | 6 +- app/src/main/res/layout/item_search.xml | 12 ++-- .../main/res/layout/view_title_bar_dark.xml | 3 +- app/src/main/res/menu/book_source.xml | 5 -- app/src/main/res/values/styles.xml | 17 ------ 35 files changed, 108 insertions(+), 132 deletions(-) diff --git a/app/src/main/java/io/legato/kazusa/ui/about/AboutActivity.kt b/app/src/main/java/io/legato/kazusa/ui/about/AboutActivity.kt index 565887c86..2e09b4a85 100644 --- a/app/src/main/java/io/legato/kazusa/ui/about/AboutActivity.kt +++ b/app/src/main/java/io/legato/kazusa/ui/about/AboutActivity.kt @@ -10,6 +10,8 @@ import androidx.core.net.toUri import androidx.lifecycle.lifecycleScope import io.legato.kazusa.R import io.legato.kazusa.base.BaseActivity +import io.legato.kazusa.constant.AppConst +import io.legato.kazusa.constant.AppConst.appInfo import io.legato.kazusa.constant.AppLog import io.legato.kazusa.databinding.ActivityAboutBinding import io.legato.kazusa.help.CrashHandler @@ -50,6 +52,8 @@ class AboutActivity : BaseActivity() { super.onCreate(savedInstanceState) setSupportActionBar(binding.topBar) + binding.tvVersion.text = appInfo.versionName + binding.btnUpdate.setOnClickListener { checkUpdate() } 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 79e5f90d4..7eb4ab23c 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 @@ -56,7 +56,7 @@ class ExploreShowAdapter(context: Context, val callBack: CallBack) : llKind.gone() } else { llKind.visible() - llKind.setLabels(kinds) + llKind.setLabels(kinds) {} } ivCover.load( item.coverUrl, diff --git a/app/src/main/java/io/legato/kazusa/ui/book/info/BookInfoActivity.kt b/app/src/main/java/io/legato/kazusa/ui/book/info/BookInfoActivity.kt index f7a517ced..dc3971b6b 100644 --- a/app/src/main/java/io/legato/kazusa/ui/book/info/BookInfoActivity.kt +++ b/app/src/main/java/io/legato/kazusa/ui/book/info/BookInfoActivity.kt @@ -361,7 +361,7 @@ class BookInfoActivity : lbKind.gone() } else { lbKind.visible() - lbKind.setLabels(kinds) + lbKind.setLabels(kinds) {} } } } 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 d64ab80c3..13680fe9d 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 @@ -4,6 +4,7 @@ import android.content.Context import android.os.Bundle import android.view.ViewGroup import androidx.core.view.isVisible +import androidx.core.view.marginEnd import androidx.recyclerview.widget.DiffUtil import io.legato.kazusa.R import io.legato.kazusa.base.adapter.DiffRecyclerAdapter @@ -11,6 +12,7 @@ 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.utils.dpToPx import io.legato.kazusa.utils.gone import io.legato.kazusa.utils.visible @@ -138,7 +140,9 @@ class SearchAdapter(context: Context, val callBack: CallBack) : llKind.gone() } else { llKind.visible() - llKind.setLabels(kinds) + llKind.setLabels(kinds) { chips -> + chips.textSize = 12f + } } } diff --git a/app/src/main/java/io/legato/kazusa/ui/widget/LabelsBar.kt b/app/src/main/java/io/legato/kazusa/ui/widget/LabelsBar.kt index 7e85edb77..520bad281 100644 --- a/app/src/main/java/io/legato/kazusa/ui/widget/LabelsBar.kt +++ b/app/src/main/java/io/legato/kazusa/ui/widget/LabelsBar.kt @@ -16,24 +16,20 @@ class LabelsBar @JvmOverloads constructor( private val unUsedChips = arrayListOf() private val usedChips = arrayListOf() - fun setLabels(labels: List) { - clear() - labels.forEach { - addLabel(it) - } - } - - fun setLabels(labels: Array) { - setLabels(labels.toList()) - } - fun clear() { unUsedChips.addAll(usedChips) usedChips.clear() removeAllViews() } - fun addLabel(label: String) { + fun setLabels(labels: List, style: (Chip) -> Unit) { + clear() + labels.forEach { + addLabel(it, style) + } + } + + fun addLabel(label: String, style: (Chip) -> Unit) { val chip = if (unUsedChips.isEmpty()) { Chip(context).apply { isClickable = false @@ -41,11 +37,9 @@ class LabelsBar @JvmOverloads constructor( chipStartPadding = 8f chipEndPadding = 8f chipStrokeWidth = 0f - chipBackgroundColor = ColorStateList.valueOf( context.themeColor(com.google.android.material.R.attr.colorPrimaryContainer) ) - usedChips.add(this) } } else { @@ -53,7 +47,9 @@ class LabelsBar @JvmOverloads constructor( usedChips.add(it) } } + style(chip) // 在这里应用外部传入的样式 chip.text = label addView(chip) } + } diff --git a/app/src/main/res/layout/activity_about.xml b/app/src/main/res/layout/activity_about.xml index 711410be4..74e82bedb 100644 --- a/app/src/main/res/layout/activity_about.xml +++ b/app/src/main/res/layout/activity_about.xml @@ -62,17 +62,39 @@ + + + + + @@ -107,7 +129,7 @@ style="@style/Widget.Material3Expressive.Button.IconButton.Tonal" android:layout_width="wrap_content" android:layout_height="match_parent" - android:layout_marginEnd="8dp" + android:layout_marginEnd="4dp" app:icon="@drawable/ic_web_outline" /> diff --git a/app/src/main/res/layout/dialog_book_change_source.xml b/app/src/main/res/layout/dialog_book_change_source.xml index 97fdca633..9549985e8 100644 --- a/app/src/main/res/layout/dialog_book_change_source.xml +++ b/app/src/main/res/layout/dialog_book_change_source.xml @@ -13,8 +13,7 @@ android:theme="?attr/actionBarStyle" app:contentInsetStartWithNavigation="0dp" app:displayHomeAsUp="false" - app:fitStatusBar="false" - app:titleTextAppearance="@style/ToolbarTitle" /> + app:fitStatusBar="false" /> + android:theme="?attr/actionBarStyle" /> + app:title="@string/bookmark" /> diff --git a/app/src/main/res/layout/dialog_chapter_change_source.xml b/app/src/main/res/layout/dialog_chapter_change_source.xml index 6a4a4495d..cd83a67c8 100644 --- a/app/src/main/res/layout/dialog_chapter_change_source.xml +++ b/app/src/main/res/layout/dialog_chapter_change_source.xml @@ -14,8 +14,7 @@ android:theme="?attr/actionBarStyle" app:displayHomeAsUp="false" app:fitStatusBar="false" - app:layout_constraintTop_toTopOf="parent" - app:titleTextAppearance="@style/ToolbarTitle" /> + app:layout_constraintTop_toTopOf="parent" /> + app:title="code edit" /> + app:title="@string/dict_rule" /> + app:title="@string/direct_link_upload_config" /> + android:layout_height="wrap_content" /> + android:theme="?attr/actionBarStyle" /> + app:title="@string/speak_engine" /> - + android:layout_height="wrap_content" + android:layout_gravity="center" + android:orientation="vertical"> - + app:displayHomeAsUp="false" + app:fitStatusBar="false" + app:title="@string/login" /> - + + + android:layout_marginTop="8dp" + android:clipToPadding="false" + android:paddingVertical="8dp" + app:flexDirection="row" + app:flexWrap="wrap" /> - + - - - - - - \ No newline at end of file + diff --git a/app/src/main/res/layout/dialog_open_url_confirm.xml b/app/src/main/res/layout/dialog_open_url_confirm.xml index 94fa242fe..567915804 100644 --- a/app/src/main/res/layout/dialog_open_url_confirm.xml +++ b/app/src/main/res/layout/dialog_open_url_confirm.xml @@ -11,8 +11,7 @@ android:layout_height="wrap_content" android:elevation="5dp" android:theme="?attr/actionBarStyle" - app:title="跳转确认" - app:titleTextAppearance="@style/ToolbarTitle" /> + app:title="跳转确认" /> + app:title="@string/favorite" /> + app:title="@string/search_scope" /> + android:theme="?attr/actionBarStyle" /> + app:title="@string/txt_toc_rule" /> + app:title="Set variable" /> + app:title="@string/input_verification_code" /> + app:fitStatusBar="false" /> diff --git a/app/src/main/res/layout/item_find_book.xml b/app/src/main/res/layout/item_find_book.xml index 18fa93d4c..98927a06c 100644 --- a/app/src/main/res/layout/item_find_book.xml +++ b/app/src/main/res/layout/item_find_book.xml @@ -10,7 +10,7 @@ android:clickable="true" android:focusable="true" android:paddingHorizontal="16dp" - android:paddingVertical="8dp" + android:paddingVertical="4dp" android:animateLayoutChanges="true" android:background="?attr/selectableItemBackground"> @@ -33,8 +33,8 @@ diff --git a/app/src/main/res/layout/item_search.xml b/app/src/main/res/layout/item_search.xml index 41f5c8c89..4f4a4f332 100644 --- a/app/src/main/res/layout/item_search.xml +++ b/app/src/main/res/layout/item_search.xml @@ -37,7 +37,7 @@ android:layout_margin="4dp" android:scaleType="centerCrop" android:visibility="visible" - app:cardBackgroundColor="?attr/colorPrimary" + app:cardBackgroundColor="?attr/colorTertiaryContainer" app:cardCornerRadius="4dp" app:strokeWidth="0dp"> @@ -47,7 +47,8 @@ android:paddingHorizontal="4dp" android:paddingVertical="2dp" android:text="书架中" - android:textColor="?attr/colorSurface" + android:textColor="?attr/colorTertiary" + android:textStyle="bold" android:textSize="10sp" tools:ignore="SmallSp" /> @@ -77,7 +78,7 @@ android:layout_toStartOf="@id/bv_originCount" android:singleLine="true" android:text="@string/app_name" - style="@style/TextAppearance.AppCompat.Medium" /> + style="@style/ChapterNameText" /> @@ -119,7 +120,6 @@ android:id="@+id/tv_lasted" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginBottom="3dp" android:ellipsize="end" android:lines="1" android:text="@string/last_read" diff --git a/app/src/main/res/layout/view_title_bar_dark.xml b/app/src/main/res/layout/view_title_bar_dark.xml index 61343d420..f5e11f4e1 100644 --- a/app/src/main/res/layout/view_title_bar_dark.xml +++ b/app/src/main/res/layout/view_title_bar_dark.xml @@ -3,5 +3,4 @@ xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/toolbar" android:layout_width="match_parent" - android:layout_height="wrap_content" - app:titleTextAppearance="@style/ToolbarTitle" /> + android:layout_height="wrap_content" /> diff --git a/app/src/main/res/menu/book_source.xml b/app/src/main/res/menu/book_source.xml index 134d1e7bd..8b2397efc 100644 --- a/app/src/main/res/menu/book_source.xml +++ b/app/src/main/res/menu/book_source.xml @@ -110,25 +110,21 @@ @@ -140,7 +136,6 @@ diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 3495c03c3..fc6b9c24e 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -50,28 +50,11 @@ 50% - - - - - - - - \ No newline at end of file