From 6ed3ef9566d42419b747b98a625582e696c19ef7 Mon Sep 17 00:00:00 2001 From: HapeLee <1321903405@qq.com> Date: Fri, 6 Jun 2025 05:08:55 +0800 Subject: [PATCH] =?UTF-8?q?=E8=88=8D=E5=BC=83=E5=8E=9F=E6=9D=A5=E7=9A=84?= =?UTF-8?q?=E4=B8=BB=E9=A2=98=E7=B3=BB=E7=BB=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 2 +- .../ui/association/AddToBookshelfDialog.kt | 5 +- .../changesource/ChangeBookSourceDialog.kt | 5 +- .../changesource/ChangeChapterTocAdapter.kt | 7 ++- .../kazusa/ui/book/read/page/AutoPager.kt | 7 ++- .../ui/book/read/page/entities/TextLine.kt | 3 +- .../read/page/entities/column/TextColumn.kt | 3 +- .../searchContent/SearchContentAdapter.kt | 7 ++- .../ui/rss/article/RssArticlesAdapter.kt | 5 +- .../ui/rss/article/RssArticlesAdapter2.kt | 5 +- .../legato/kazusa/ui/widget/DetailSeekBar.kt | 10 ++-- .../kazusa/ui/widget/image/CircleImageView.kt | 50 +++++++++-------- .../legato/kazusa/utils/ContextExtensions.kt | 6 ++ app/src/main/res/drawable/ic_fill_colors.xml | 4 ++ app/src/main/res/drawable/ic_palette.xml | 4 ++ .../res/layout-land/activity_book_info.xml | 12 ---- app/src/main/res/layout/activity_manga.xml | 7 +-- .../main/res/layout/activity_read_record.xml | 12 ++-- .../res/layout/activity_search_content.xml | 21 ++++--- .../main/res/layout/activity_source_debug.xml | 21 ++----- .../res/layout/dialog_add_to_bookshelf.xml | 5 +- .../res/layout/dialog_book_change_source.xml | 4 +- .../layout/dialog_chapter_change_source.xml | 6 +- .../main/res/layout/dialog_custom_group.xml | 2 - .../layout/dialog_manga_footer_setting.xml | 4 -- .../res/layout/dialog_open_url_confirm.xml | 11 ++-- app/src/main/res/layout/dialog_page_key.xml | 13 ++--- app/src/main/res/layout/dialog_read_aloud.xml | 1 - .../res/layout/dialog_simulated_reading.xml | 49 ++++------------ app/src/main/res/layout/dialog_tip_config.xml | 50 +++++------------ .../main/res/layout/fragment_bookshelf1.xml | 3 +- app/src/main/res/layout/item_1line_text.xml | 3 +- .../main/res/layout/item_book_file_import.xml | 3 +- .../res/layout/item_bookshelf_grid_group.xml | 1 - .../main/res/layout/item_bookshelf_list.xml | 8 --- .../res/layout/item_bookshelf_list_group.xml | 7 --- .../main/res/layout/item_change_source.xml | 9 +-- app/src/main/res/layout/item_cover.xml | 1 - app/src/main/res/layout/item_import_book.xml | 3 +- .../main/res/layout/item_rss_article_1.xml | 1 - .../main/res/layout/item_rss_article_2.xml | 1 - app/src/main/res/layout/item_rss_source.xml | 6 +- app/src/main/res/layout/item_search_list.xml | 10 +--- app/src/main/res/layout/item_theme_config.xml | 3 - app/src/main/res/layout/item_toc_regex.xml | 2 - .../main/res/layout/view_detail_seek_bar.xml | 11 ++-- app/src/main/res/layout/view_search_menu.xml | 56 +++++++++---------- app/src/main/res/values/styles.xml | 4 +- 48 files changed, 182 insertions(+), 291 deletions(-) create mode 100644 app/src/main/res/drawable/ic_fill_colors.xml create mode 100644 app/src/main/res/drawable/ic_palette.xml diff --git a/app/build.gradle b/app/build.gradle index 473936e6b..c48cd97fc 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -49,7 +49,7 @@ android { defaultConfig { applicationId "io.legato.kazusa" - minSdk 21 + minSdk 24 targetSdk 35 versionCode 10000 + gitCommits versionName version diff --git a/app/src/main/java/io/legato/kazusa/ui/association/AddToBookshelfDialog.kt b/app/src/main/java/io/legato/kazusa/ui/association/AddToBookshelfDialog.kt index cb6162590..6dbfb64d8 100644 --- a/app/src/main/java/io/legato/kazusa/ui/association/AddToBookshelfDialog.kt +++ b/app/src/main/java/io/legato/kazusa/ui/association/AddToBookshelfDialog.kt @@ -6,6 +6,7 @@ import android.content.DialogInterface import android.os.Bundle import android.view.View import android.view.ViewGroup +import androidx.core.view.isVisible import androidx.fragment.app.viewModels import androidx.lifecycle.MutableLiveData import io.legato.kazusa.R @@ -70,9 +71,9 @@ class AddToBookshelfDialog() : BaseDialogFragment(R.layout.dialog_add_to_bookshe } viewModel.loadStateLiveData.observe(this) { if (it) { - binding.rotateLoading.visible() + binding.rotateLoading.isVisible = true } else { - binding.rotateLoading.gone() + binding.rotateLoading.isVisible = true } } viewModel.loadErrorLiveData.observe(this) { diff --git a/app/src/main/java/io/legato/kazusa/ui/book/changesource/ChangeBookSourceDialog.kt b/app/src/main/java/io/legato/kazusa/ui/book/changesource/ChangeBookSourceDialog.kt index 8a358c558..2b67f617d 100644 --- a/app/src/main/java/io/legato/kazusa/ui/book/changesource/ChangeBookSourceDialog.kt +++ b/app/src/main/java/io/legato/kazusa/ui/book/changesource/ChangeBookSourceDialog.kt @@ -9,6 +9,7 @@ import android.widget.ImageButton import androidx.appcompat.widget.SearchView import androidx.appcompat.widget.Toolbar import androidx.core.os.bundleOf +import androidx.core.view.isVisible import androidx.fragment.app.viewModels import androidx.lifecycle.Lifecycle.State.STARTED import androidx.lifecycle.lifecycleScope @@ -215,7 +216,7 @@ class ChangeBookSourceDialog() : BaseBottomSheetDialogFragment(R.layout.dialog_b private fun initLiveData() { viewModel.searchStateData.observe(viewLifecycleOwner) { - //binding.refreshProgressBar.isAutoLoading = it + binding.refreshProgressBar.isVisible = it if (it) { startStopMenuItem?.let { item -> item.setIcon(R.drawable.ic_stop_black_24dp) @@ -227,7 +228,7 @@ class ChangeBookSourceDialog() : BaseBottomSheetDialogFragment(R.layout.dialog_b item.setTitle(R.string.refresh) } } - binding.toolBar.menu.applyTint(requireContext()) + //binding.toolBar.menu.applyTint(requireContext()) } lifecycleScope.launch { repeatOnLifecycle(STARTED) { diff --git a/app/src/main/java/io/legato/kazusa/ui/book/changesource/ChangeChapterTocAdapter.kt b/app/src/main/java/io/legato/kazusa/ui/book/changesource/ChangeChapterTocAdapter.kt index 175dcc265..ecab4b684 100644 --- a/app/src/main/java/io/legato/kazusa/ui/book/changesource/ChangeChapterTocAdapter.kt +++ b/app/src/main/java/io/legato/kazusa/ui/book/changesource/ChangeChapterTocAdapter.kt @@ -11,6 +11,7 @@ import io.legato.kazusa.lib.theme.ThemeUtils //import io.legado.app.lib.theme.accentColor import io.legato.kazusa.utils.getCompatColor import io.legato.kazusa.utils.gone +import io.legato.kazusa.utils.themeColor import io.legato.kazusa.utils.visible class ChangeChapterTocAdapter(context: Context, val callback: Callback) : @@ -30,11 +31,13 @@ class ChangeChapterTocAdapter(context: Context, val callback: Callback) : ) { binding.run { val isDur = durChapterIndex == item.index + if (isDur) { - //tvChapterName.setTextColor(context.accentColor) + tvChapterName.setTextColor(context.themeColor(com.google.android.material.R.attr.colorPrimary)) } else { - tvChapterName.setTextColor(context.getCompatColor(R.color.primaryText)) + tvChapterName.setTextColor(context.themeColor(com.google.android.material.R.attr.colorOnSurface)) } + tvChapterName.text = item.title if (item.isVolume) { //卷名,如第一卷 突出显示 diff --git a/app/src/main/java/io/legato/kazusa/ui/book/read/page/AutoPager.kt b/app/src/main/java/io/legato/kazusa/ui/book/read/page/AutoPager.kt index 11a3d7d73..57740177d 100644 --- a/app/src/main/java/io/legato/kazusa/ui/book/read/page/AutoPager.kt +++ b/app/src/main/java/io/legato/kazusa/ui/book/read/page/AutoPager.kt @@ -1,5 +1,6 @@ package io.legato.kazusa.ui.book.read.page +import android.content.Context import android.graphics.Canvas import android.graphics.Paint import android.os.SystemClock @@ -10,11 +11,13 @@ import io.legato.kazusa.lib.theme.ThemeStore import io.legato.kazusa.ui.book.read.page.entities.PageDirection import io.legato.kazusa.utils.canvasrecorder.CanvasRecorderFactory import io.legato.kazusa.utils.canvasrecorder.recordIfNeeded +import io.legato.kazusa.utils.themeColor /** * 自动翻页 */ -class AutoPager(private val readView: ReadView) { +class AutoPager( + private val readView: ReadView) { private var progress = 0 var isRunning = false private set @@ -28,7 +31,7 @@ class AutoPager(private val readView: ReadView) { fun start() { isRunning = true - paint.color = ThemeStore.accentColor + paint.color = readView.context.themeColor(com.google.android.material.R.attr.colorPrimary) lastTimeMillis = SystemClock.uptimeMillis() readView.curPage.upSelectAble(false) readView.invalidate() diff --git a/app/src/main/java/io/legato/kazusa/ui/book/read/page/entities/TextLine.kt b/app/src/main/java/io/legato/kazusa/ui/book/read/page/entities/TextLine.kt index 80c2ba75c..2b81c231c 100644 --- a/app/src/main/java/io/legato/kazusa/ui/book/read/page/entities/TextLine.kt +++ b/app/src/main/java/io/legato/kazusa/ui/book/read/page/entities/TextLine.kt @@ -19,6 +19,7 @@ import io.legato.kazusa.ui.book.read.page.provider.ChapterProvider import io.legato.kazusa.utils.canvasrecorder.CanvasRecorderFactory import io.legato.kazusa.utils.canvasrecorder.recordIfNeededThenDraw import io.legato.kazusa.utils.dpToPx +import io.legato.kazusa.utils.themeColor /** * 行信息 @@ -173,7 +174,7 @@ data class TextLine( ChapterProvider.contentPaint } val textColor = if (isReadAloud) { - ThemeStore.accentColor + view.context.themeColor(com.google.android.material.R.attr.colorPrimary) } else { ReadBookConfig.textColor } diff --git a/app/src/main/java/io/legato/kazusa/ui/book/read/page/entities/column/TextColumn.kt b/app/src/main/java/io/legato/kazusa/ui/book/read/page/entities/column/TextColumn.kt index 1f1e6cb17..a044605c3 100644 --- a/app/src/main/java/io/legato/kazusa/ui/book/read/page/entities/column/TextColumn.kt +++ b/app/src/main/java/io/legato/kazusa/ui/book/read/page/entities/column/TextColumn.kt @@ -9,6 +9,7 @@ import io.legato.kazusa.ui.book.read.page.ContentTextView import io.legato.kazusa.ui.book.read.page.entities.TextLine import io.legato.kazusa.ui.book.read.page.entities.TextLine.Companion.emptyTextLine import io.legato.kazusa.ui.book.read.page.provider.ChapterProvider +import io.legato.kazusa.utils.themeColor /** * 文字列 @@ -49,7 +50,7 @@ data class TextColumn( ChapterProvider.contentPaint } val textColor = if (textLine.isReadAloud || isSearchResult) { - ThemeStore.accentColor + view.context.themeColor(com.google.android.material.R.attr.colorPrimary) } else { ReadBookConfig.textColor } diff --git a/app/src/main/java/io/legato/kazusa/ui/book/searchContent/SearchContentAdapter.kt b/app/src/main/java/io/legato/kazusa/ui/book/searchContent/SearchContentAdapter.kt index 9af440a02..1f4efdb2d 100644 --- a/app/src/main/java/io/legato/kazusa/ui/book/searchContent/SearchContentAdapter.kt +++ b/app/src/main/java/io/legato/kazusa/ui/book/searchContent/SearchContentAdapter.kt @@ -9,13 +9,14 @@ import io.legato.kazusa.databinding.ItemSearchListBinding //import io.legado.app.lib.theme.accentColor import io.legato.kazusa.utils.getCompatColor import io.legato.kazusa.utils.hexString +import io.legato.kazusa.utils.themeColor class SearchContentAdapter(context: Context, val callback: Callback) : RecyclerAdapter(context) { - val textColor = context.getCompatColor(R.color.primaryText).hexString.substring(2) - //val accentColor = context.accentColor.hexString.substring(2) + val textColor = context.themeColor(com.google.android.material.R.attr.colorOnSurface).hexString.substring(2) + val accentColor = context.themeColor(com.google.android.material.R.attr.colorPrimary).hexString.substring(2) override fun getViewBinding(parent: ViewGroup): ItemSearchListBinding { return ItemSearchListBinding.inflate(inflater, parent, false) @@ -30,7 +31,7 @@ class SearchContentAdapter(context: Context, val callback: Callback) : binding.run { val isDur = callback.durChapterIndex() == item.chapterIndex if (payloads.isEmpty()) { - //tvSearchResult.text = item.getHtmlCompat(textColor, accentColor) + tvSearchResult.text = item.getHtmlCompat(textColor, accentColor) tvSearchResult.paint.isFakeBoldText = isDur } } diff --git a/app/src/main/java/io/legato/kazusa/ui/rss/article/RssArticlesAdapter.kt b/app/src/main/java/io/legato/kazusa/ui/rss/article/RssArticlesAdapter.kt index f8ccdc5ad..a547a92ca 100644 --- a/app/src/main/java/io/legato/kazusa/ui/rss/article/RssArticlesAdapter.kt +++ b/app/src/main/java/io/legato/kazusa/ui/rss/article/RssArticlesAdapter.kt @@ -17,6 +17,7 @@ import io.legato.kazusa.help.glide.ImageLoader import io.legato.kazusa.help.glide.OkHttpModelLoader import io.legato.kazusa.utils.getCompatColor import io.legato.kazusa.utils.gone +import io.legato.kazusa.utils.themeColor import io.legato.kazusa.utils.visible @@ -73,9 +74,9 @@ class RssArticlesAdapter(context: Context, callBack: CallBack) : }.into(imageView) } if (item.read) { - tvTitle.setTextColor(context.getCompatColor(R.color.tv_text_summary)) + tvTitle.setTextColor(context.themeColor(com.google.android.material.R.attr.colorOnSurfaceVariant)) } else { - tvTitle.setTextColor(context.getCompatColor(R.color.primaryText)) + tvTitle.setTextColor(context.themeColor(com.google.android.material.R.attr.colorOnSurface)) } } } diff --git a/app/src/main/java/io/legato/kazusa/ui/rss/article/RssArticlesAdapter2.kt b/app/src/main/java/io/legato/kazusa/ui/rss/article/RssArticlesAdapter2.kt index 55978a4c2..08067026a 100644 --- a/app/src/main/java/io/legato/kazusa/ui/rss/article/RssArticlesAdapter2.kt +++ b/app/src/main/java/io/legato/kazusa/ui/rss/article/RssArticlesAdapter2.kt @@ -17,6 +17,7 @@ import io.legato.kazusa.help.glide.ImageLoader import io.legato.kazusa.help.glide.OkHttpModelLoader import io.legato.kazusa.utils.getCompatColor import io.legato.kazusa.utils.gone +import io.legato.kazusa.utils.themeColor import io.legato.kazusa.utils.visible @@ -73,9 +74,9 @@ class RssArticlesAdapter2(context: Context, callBack: CallBack) : }.into(imageView) } if (item.read) { - tvTitle.setTextColor(context.getCompatColor(R.color.tv_text_summary)) + tvTitle.setTextColor(context.themeColor(com.google.android.material.R.attr.colorOnSurfaceVariant)) } else { - tvTitle.setTextColor(context.getCompatColor(R.color.primaryText)) + tvTitle.setTextColor(context.themeColor(com.google.android.material.R.attr.colorOnSurface)) } } } diff --git a/app/src/main/java/io/legato/kazusa/ui/widget/DetailSeekBar.kt b/app/src/main/java/io/legato/kazusa/ui/widget/DetailSeekBar.kt index 5ea589ded..f4a262cdf 100644 --- a/app/src/main/java/io/legato/kazusa/ui/widget/DetailSeekBar.kt +++ b/app/src/main/java/io/legato/kazusa/ui/widget/DetailSeekBar.kt @@ -59,13 +59,15 @@ class DetailSeekBar @JvmOverloads constructor( // binding.tvSeekValue.setTextColor(textColor) } binding.ivSeekPlus.setOnClickListener { - binding.slider.value = binding.slider.value + 1 - onChanged?.invoke(binding.slider.value.toInt()) + val newValue = (binding.slider.value + 1).coerceAtMost(binding.slider.valueTo) + binding.slider.value = newValue + onChanged?.invoke(newValue.toInt()) } binding.ivSeekReduce.setOnClickListener { - binding.slider.value = binding.slider.value - 1 - onChanged?.invoke(binding.slider.value.toInt()) + val newValue = (binding.slider.value - 1).coerceAtLeast(binding.slider.valueFrom) + binding.slider.value = newValue + onChanged?.invoke(newValue.toInt()) } binding.slider.addOnChangeListener { _, value, fromUser -> diff --git a/app/src/main/java/io/legato/kazusa/ui/widget/image/CircleImageView.kt b/app/src/main/java/io/legato/kazusa/ui/widget/image/CircleImageView.kt index 017571377..d0d281366 100644 --- a/app/src/main/java/io/legato/kazusa/ui/widget/image/CircleImageView.kt +++ b/app/src/main/java/io/legato/kazusa/ui/widget/image/CircleImageView.kt @@ -23,6 +23,8 @@ import io.legato.kazusa.utils.spToPx import kotlin.math.min import kotlin.math.pow import androidx.core.graphics.createBitmap +import io.legato.kazusa.utils.themeColor +import androidx.core.content.withStyledAttributes @Suppress("unused", "MemberVisibilityCanBePrivate") class CircleImageView @JvmOverloads constructor( @@ -117,35 +119,35 @@ class CircleImageView @JvmOverloads constructor( private var text: String? = null - private var textColor = context.getCompatColor(R.color.primaryText) + private var textColor = context.themeColor(com.google.android.material.R.attr.colorOnSurface) private var textBold = false var isInView = false init { - val a = context.obtainStyledAttributes(attrs, R.styleable.CircleImageView) - mBorderWidth = - a.getDimensionPixelSize( - R.styleable.CircleImageView_civ_border_width, - DEFAULT_BORDER_WIDTH - ) - mBorderColor = - a.getColor(R.styleable.CircleImageView_civ_border_color, DEFAULT_BORDER_COLOR) - mBorderOverlay = - a.getBoolean(R.styleable.CircleImageView_civ_border_overlay, DEFAULT_BORDER_OVERLAY) - mCircleBackgroundColor = - a.getColor( - R.styleable.CircleImageView_civ_circle_background_color, - DEFAULT_CIRCLE_BACKGROUND_COLOR - ) - text = a.getString(R.styleable.CircleImageView_text) - contentDescription = text - if (a.hasValue(R.styleable.CircleImageView_textColor)) { - textColor = a.getColor( - R.styleable.CircleImageView_textColor, - context.getCompatColor(R.color.primaryText) - ) + context.withStyledAttributes(attrs, R.styleable.CircleImageView) { + mBorderWidth = + getDimensionPixelSize( + R.styleable.CircleImageView_civ_border_width, + DEFAULT_BORDER_WIDTH + ) + mBorderColor = + getColor(R.styleable.CircleImageView_civ_border_color, DEFAULT_BORDER_COLOR) + mBorderOverlay = + getBoolean(R.styleable.CircleImageView_civ_border_overlay, DEFAULT_BORDER_OVERLAY) + mCircleBackgroundColor = + getColor( + R.styleable.CircleImageView_civ_circle_background_color, + DEFAULT_CIRCLE_BACKGROUND_COLOR + ) + text = getString(R.styleable.CircleImageView_text) + contentDescription = text + if (hasValue(R.styleable.CircleImageView_textColor)) { + textColor = getColor( + R.styleable.CircleImageView_textColor, + context.themeColor(com.google.android.material.R.attr.colorOnSurface) + ) + } } - a.recycle() mReady = true diff --git a/app/src/main/java/io/legato/kazusa/utils/ContextExtensions.kt b/app/src/main/java/io/legato/kazusa/utils/ContextExtensions.kt index 3a1b66322..4c876ef9a 100644 --- a/app/src/main/java/io/legato/kazusa/utils/ContextExtensions.kt +++ b/app/src/main/java/io/legato/kazusa/utils/ContextExtensions.kt @@ -29,6 +29,7 @@ import android.os.BatteryManager import android.os.Build import android.os.Process import android.provider.Settings +import android.util.TypedValue import androidx.annotation.ColorRes import androidx.annotation.DrawableRes import androidx.core.content.ContextCompat @@ -417,3 +418,8 @@ val Context.isDebuggable: Boolean val Context.dataStore by preferencesDataStore(name = "settings") +fun Context.themeColor(attr: Int): Int { + val typedValue = TypedValue() + theme.resolveAttribute(attr, typedValue, true) + return ContextCompat.getColor(this, typedValue.resourceId) +} diff --git a/app/src/main/res/drawable/ic_fill_colors.xml b/app/src/main/res/drawable/ic_fill_colors.xml new file mode 100644 index 000000000..2bdf32823 --- /dev/null +++ b/app/src/main/res/drawable/ic_fill_colors.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_palette.xml b/app/src/main/res/drawable/ic_palette.xml new file mode 100644 index 000000000..8a5ce7978 --- /dev/null +++ b/app/src/main/res/drawable/ic_palette.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout-land/activity_book_info.xml b/app/src/main/res/layout-land/activity_book_info.xml index b64362dc3..829cf336e 100644 --- a/app/src/main/res/layout-land/activity_book_info.xml +++ b/app/src/main/res/layout-land/activity_book_info.xml @@ -101,7 +101,6 @@ android:includeFontPadding="false" android:singleLine="true" android:text="@string/book_name" - android:textColor="@color/primaryText" android:textSize="18sp" tools:ignore="RtlHardcoded" /> @@ -141,7 +140,6 @@ android:includeFontPadding="false" android:singleLine="true" android:text="@string/author" - android:textColor="@color/tv_text_summary" android:textSize="13sp" tools:ignore="NestedWeights,TextContrastCheck" /> @@ -204,7 +202,6 @@ android:contentDescription="@string/origin_format" android:paddingRight="2dp" android:src="@drawable/ic_web_outline" - app:tint="@color/tv_text_summary" tools:ignore="RtlHardcoded,RtlSymmetry" /> @@ -250,7 +246,6 @@ android:contentDescription="@string/read_dur_progress" android:paddingRight="2dp" android:src="@drawable/ic_book_last" - app:tint="@color/tv_text_summary" tools:ignore="RtlHardcoded,RtlSymmetry" /> @@ -283,7 +277,6 @@ android:contentDescription="@string/read_dur_progress" android:paddingRight="2dp" android:src="@drawable/ic_groups" - app:tint="@color/tv_text_summary" tools:ignore="RtlHardcoded,RtlSymmetry" /> @@ -327,7 +319,6 @@ android:contentDescription="@string/read_dur_progress" android:paddingRight="2dp" android:src="@drawable/ic_folder_open" - app:tint="@color/tv_text_summary" tools:ignore="RtlHardcoded,RtlSymmetry" /> @@ -370,7 +360,6 @@ android:paddingLeft="8dp" android:paddingBottom="8dp" android:text="@string/book_intro" - android:textColor="@color/secondaryText" android:textIsSelectable="true" android:textSize="14sp" android:visibility="visible" @@ -398,7 +387,6 @@ android:gravity="center" android:includeFontPadding="false" android:text="@string/remove_from_bookshelf" - android:textColor="@color/primaryText" android:textSize="15sp" /> @@ -63,8 +62,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" - android:text="@string/loading" - android:textColor="@color/primaryText" /> + android:text="@string/loading" /> + android:layout_height="wrap_content" /> + android:paddingHorizontal="16dp"> - @@ -62,6 +59,7 @@ android:id="@+id/recycler_view" android:layout_width="match_parent" android:layout_height="match_parent" + android:paddingHorizontal="16dp" android:clipToPadding="false" app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" /> diff --git a/app/src/main/res/layout/activity_search_content.xml b/app/src/main/res/layout/activity_search_content.xml index 7bef702bc..9b657b4c4 100644 --- a/app/src/main/res/layout/activity_search_content.xml +++ b/app/src/main/res/layout/activity_search_content.xml @@ -50,33 +50,32 @@ android:paddingLeft="10dp" android:paddingRight="10dp" android:singleLine="true" - android:textColor="@color/primaryText" android:textSize="12sp" /> - - diff --git a/app/src/main/res/layout/activity_source_debug.xml b/app/src/main/res/layout/activity_source_debug.xml index 85ccaec85..01375b12b 100644 --- a/app/src/main/res/layout/activity_source_debug.xml +++ b/app/src/main/res/layout/activity_source_debug.xml @@ -52,8 +52,7 @@ @@ -93,7 +91,6 @@ android:paddingRight="12dp" android:paddingBottom="4dp" android:text="系统" - android:textColor="@color/primaryText" android:textSize="14sp" tools:ignore="HardcodedText,UnusedAttribute" /> @@ -102,8 +99,7 @@ android:id="@+id/text_fx_title" android:layout_width="match_parent" android:layout_height="wrap_content" - android:text="调试发现>>输入发现URL,如:" - android:textColor="@color/secondaryText" + android:text="调试发现 - 输入发现URL,如:" tools:ignore="HardcodedText" /> diff --git a/app/src/main/res/layout/dialog_add_to_bookshelf.xml b/app/src/main/res/layout/dialog_add_to_bookshelf.xml index 4ec199f7b..e5e51d05e 100644 --- a/app/src/main/res/layout/dialog_add_to_bookshelf.xml +++ b/app/src/main/res/layout/dialog_add_to_bookshelf.xml @@ -11,7 +11,6 @@ android:layout_height="wrap_content" android:padding="18dp" android:text="@string/add_to_bookshelf" - android:textColor="@color/primaryText" android:textSize="16sp" android:textStyle="bold" app:layout_constraintTop_toTopOf="parent" /> @@ -80,10 +79,11 @@ - 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 279090fb5..28023a30b 100644 --- a/app/src/main/res/layout/dialog_book_change_source.xml +++ b/app/src/main/res/layout/dialog_book_change_source.xml @@ -10,7 +10,6 @@ android:id="@+id/tool_bar" android:layout_width="match_parent" android:layout_height="wrap_content" - android:elevation="5dp" android:theme="?attr/actionBarStyle" app:contentInsetStartWithNavigation="0dp" app:displayHomeAsUp="false" @@ -24,7 +23,7 @@ android:indeterminate="true" app:layout_constraintTop_toBottomOf="@+id/tool_bar" /> - - \ No newline at end of file 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 faeb1e42a..24e6e37d8 100644 --- a/app/src/main/res/layout/dialog_chapter_change_source.xml +++ b/app/src/main/res/layout/dialog_chapter_change_source.xml @@ -52,7 +52,6 @@ android:paddingLeft="10dp" android:paddingRight="10dp" android:singleLine="true" - android:textColor="@color/primaryText" android:textSize="12sp" /> @@ -98,8 +95,7 @@ android:layout_width="match_parent" android:layout_height="36dp" android:background="?android:attr/selectableItemBackground" - android:src="@drawable/ic_arrow_down" - app:tint="@color/primaryText" /> + android:src="@drawable/ic_arrow_down" /> diff --git a/app/src/main/res/layout/dialog_custom_group.xml b/app/src/main/res/layout/dialog_custom_group.xml index 4ea835969..78480c06f 100644 --- a/app/src/main/res/layout/dialog_custom_group.xml +++ b/app/src/main/res/layout/dialog_custom_group.xml @@ -25,7 +25,6 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:text="@string/add_group" - android:textColor="@color/primaryText" app:layout_constraintTop_toTopOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toLeftOf="@+id/sw_add_group" /> @@ -35,7 +34,6 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:text="@string/custom_group_summary" - android:textColor="@color/secondaryText" app:layout_constraintTop_toBottomOf="@+id/tv_add_group_title" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toLeftOf="@+id/sw_add_group" /> diff --git a/app/src/main/res/layout/dialog_manga_footer_setting.xml b/app/src/main/res/layout/dialog_manga_footer_setting.xml index 174097577..f8a21af87 100644 --- a/app/src/main/res/layout/dialog_manga_footer_setting.xml +++ b/app/src/main/res/layout/dialog_manga_footer_setting.xml @@ -20,7 +20,6 @@ android:layout_height="wrap_content" android:layout_marginTop="16dp" android:text="@string/manga_header_chapter" - android:textColor="@color/primaryText" android:textSize="14sp" /> - - diff --git a/app/src/main/res/layout/dialog_page_key.xml b/app/src/main/res/layout/dialog_page_key.xml index 1d3c32659..e81e720f4 100644 --- a/app/src/main/res/layout/dialog_page_key.xml +++ b/app/src/main/res/layout/dialog_page_key.xml @@ -47,7 +47,6 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="5dp" - android:textColor="@color/secondaryText" android:text="@string/page_key_set_help" /> - + android:text="@string/reset" /> - + android:text="@string/ok" /> diff --git a/app/src/main/res/layout/dialog_read_aloud.xml b/app/src/main/res/layout/dialog_read_aloud.xml index bc544b114..fbcfcbeaf 100644 --- a/app/src/main/res/layout/dialog_read_aloud.xml +++ b/app/src/main/res/layout/dialog_read_aloud.xml @@ -162,7 +162,6 @@ android:layout_height="wrap_content" android:layout_gravity="center" android:paddingHorizontal="3dp" - android:textColor="@color/primaryText" android:textSize="14sp" /> + android:layout_height="wrap_content" + android:gravity="start" + android:orientation="horizontal"> - + - - - - @@ -98,9 +80,8 @@ + android:layout_height="wrap_content" + android:gravity="start"> @@ -136,8 +116,6 @@ android:paddingTop="4dp" android:paddingRight="5dp" android:paddingBottom="4dp" - android:textColor="@color/primaryText" - android:textCursorDrawable="@drawable/shape_text_cursor" android:textSize="14sp" tools:ignore="TouchTargetSizeCheck,TextContrastCheck" /> @@ -151,10 +129,9 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" - android:layout_marginLeft="25dp" + android:layout_marginLeft="16dp" android:layout_marginRight="5dp" android:text="@string/daily_chapters" - android:textColor="@color/primaryText" android:textSize="16sp" /> diff --git a/app/src/main/res/layout/dialog_tip_config.xml b/app/src/main/res/layout/dialog_tip_config.xml index c6a774fcf..498c82b3b 100644 --- a/app/src/main/res/layout/dialog_tip_config.xml +++ b/app/src/main/res/layout/dialog_tip_config.xml @@ -11,7 +11,7 @@ android:orientation="vertical" android:padding="16dp"> - - - - - + android:text="@string/show_hide" /> @@ -115,15 +113,13 @@ android:layout_height="wrap_content" android:layout_weight="1" android:padding="6dp" - android:text="@string/left" - android:textColor="@color/primaryText" /> + android:text="@string/left" /> @@ -141,15 +137,13 @@ android:layout_height="wrap_content" android:layout_weight="1" android:padding="6dp" - android:text="@string/middle" - android:textColor="@color/primaryText" /> + android:text="@string/middle" /> @@ -167,15 +161,13 @@ android:layout_height="wrap_content" android:layout_weight="1" android:padding="6dp" - android:text="@string/right" - android:textColor="@color/primaryText" /> + android:text="@string/right" /> @@ -199,15 +191,13 @@ android:layout_height="wrap_content" android:layout_weight="1" android:padding="6dp" - android:text="@string/show_hide" - android:textColor="@color/primaryText" /> + android:text="@string/show_hide" /> @@ -225,15 +215,13 @@ android:layout_height="wrap_content" android:layout_weight="1" android:padding="6dp" - android:text="@string/left" - android:textColor="@color/primaryText" /> + android:text="@string/left" /> @@ -251,15 +239,13 @@ android:layout_height="wrap_content" android:layout_weight="1" android:padding="6dp" - android:text="@string/middle" - android:textColor="@color/primaryText" /> + android:text="@string/middle" /> @@ -277,15 +263,13 @@ android:layout_height="wrap_content" android:layout_weight="1" android:padding="6dp" - android:text="@string/right" - android:textColor="@color/primaryText" /> + android:text="@string/right" /> @@ -309,15 +293,13 @@ android:layout_height="wrap_content" android:layout_weight="1" android:padding="6dp" - android:text="@string/text_color" - android:textColor="@color/primaryText" /> + android:text="@string/text_color" /> @@ -335,15 +317,13 @@ android:layout_height="wrap_content" android:layout_weight="1" android:padding="6dp" - android:text="@string/tip_divider_color" - android:textColor="@color/primaryText" /> + android:text="@string/tip_divider_color" /> diff --git a/app/src/main/res/layout/fragment_bookshelf1.xml b/app/src/main/res/layout/fragment_bookshelf1.xml index 28c092e67..6faed4da1 100644 --- a/app/src/main/res/layout/fragment_bookshelf1.xml +++ b/app/src/main/res/layout/fragment_bookshelf1.xml @@ -10,6 +10,7 @@ android:id="@+id/title_bar" android:layout_width="match_parent" android:layout_height="wrap_content" + android:background="?attr/colorSurface" android:fitsSystemWindows="true"> diff --git a/app/src/main/res/layout/item_1line_text.xml b/app/src/main/res/layout/item_1line_text.xml index b2af0e293..98bf2f28e 100644 --- a/app/src/main/res/layout/item_1line_text.xml +++ b/app/src/main/res/layout/item_1line_text.xml @@ -14,7 +14,6 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" - android:singleLine="true" - android:textColor="@color/primaryText" /> + android:singleLine="true" /> \ No newline at end of file diff --git a/app/src/main/res/layout/item_book_file_import.xml b/app/src/main/res/layout/item_book_file_import.xml index 8f584c1a4..c42b6d58e 100644 --- a/app/src/main/res/layout/item_book_file_import.xml +++ b/app/src/main/res/layout/item_book_file_import.xml @@ -4,13 +4,12 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="wrap_content" - android:padding="8dp"> + android:padding="16dp"> diff --git a/app/src/main/res/layout/item_bookshelf_list.xml b/app/src/main/res/layout/item_bookshelf_list.xml index 5f8392ef1..8ecb8ba74 100644 --- a/app/src/main/res/layout/item_bookshelf_list.xml +++ b/app/src/main/res/layout/item_bookshelf_list.xml @@ -68,7 +68,6 @@ android:scrollbars="none" android:singleLine="true" android:text="@string/book_name" - android:textColor="@color/primaryText" android:textSize="16sp" app:layout_constraintBottom_toTopOf="@+id/tv_author" app:layout_constraintLeft_toRightOf="@+id/iv_cover" @@ -88,7 +87,6 @@ app:layout_constraintBottom_toBottomOf="@+id/tv_author" app:layout_constraintLeft_toLeftOf="@+id/tv_name" app:layout_constraintTop_toTopOf="@+id/tv_author" - app:tint="@color/tv_text_summary" tools:ignore="RtlHardcoded,RtlSymmetry" /> + tools:ignore="RtlHardcoded,RtlSymmetry" + android:paddingHorizontal="16dp"> @@ -67,7 +66,6 @@ android:layout_marginBottom="10dp" android:singleLine="true" tools:text="latest chapter name" - android:textColor="@color/secondaryText" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toLeftOf="@+id/iv_checked" app:layout_constraintTop_toBottomOf="@+id/tv_origin" /> @@ -80,7 +78,6 @@ android:layout_marginBottom="10dp" android:singleLine="false" tools:text="word count" - android:textColor="@color/secondaryText" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toLeftOf="@+id/iv_checked" app:layout_constraintTop_toBottomOf="@+id/tv_last" /> @@ -93,7 +90,6 @@ android:layout_marginBottom="10dp" android:singleLine="false" tools:text="respond time" - android:textColor="@color/secondaryText" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toLeftOf="@+id/iv_checked" @@ -111,7 +107,6 @@ app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" - app:tint="@color/primaryText" tools:visibility="visible" /> diff --git a/app/src/main/res/layout/item_cover.xml b/app/src/main/res/layout/item_cover.xml index bd4db344d..575ba1836 100644 --- a/app/src/main/res/layout/item_cover.xml +++ b/app/src/main/res/layout/item_cover.xml @@ -25,7 +25,6 @@ android:gravity="center" android:singleLine="true" android:text="@string/book_source" - android:textColor="@color/primaryText" android:textSize="16sp" tools:ignore="RtlHardcoded,RtlSymmetry" /> diff --git a/app/src/main/res/layout/item_import_book.xml b/app/src/main/res/layout/item_import_book.xml index c2d19074a..9d3c3f502 100644 --- a/app/src/main/res/layout/item_import_book.xml +++ b/app/src/main/res/layout/item_import_book.xml @@ -27,8 +27,7 @@ android:layout_height="match_parent" android:scaleType="center" android:visibility="invisible" - android:src="@drawable/ic_folder" - app:tint="@color/primaryText" /> + android:src="@drawable/ic_folder" /> + android:singleLine="true" /> + /> \ No newline at end of file diff --git a/app/src/main/res/layout/item_search_list.xml b/app/src/main/res/layout/item_search_list.xml index 6f7fa71fd..d12e247a7 100644 --- a/app/src/main/res/layout/item_search_list.xml +++ b/app/src/main/res/layout/item_search_list.xml @@ -1,5 +1,5 @@ - + android:layout_height="wrap_content"/> - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/layout/item_theme_config.xml b/app/src/main/res/layout/item_theme_config.xml index ed0397eb4..06a5e550a 100644 --- a/app/src/main/res/layout/item_theme_config.xml +++ b/app/src/main/res/layout/item_theme_config.xml @@ -15,7 +15,6 @@ android:layout_height="wrap_content" android:layout_weight="1" android:maxLines="1" - android:textColor="@color/primaryText" android:textSize="16sp" tools:text="theme" /> @@ -29,7 +28,6 @@ android:padding="6dp" android:tooltipText="@string/edit" android:src="@drawable/ic_share" - android:tint="@color/primaryText" tools:ignore="UnusedAttribute" /> \ No newline at end of file diff --git a/app/src/main/res/layout/item_toc_regex.xml b/app/src/main/res/layout/item_toc_regex.xml index 023300419..9a26d1a35 100644 --- a/app/src/main/res/layout/item_toc_regex.xml +++ b/app/src/main/res/layout/item_toc_regex.xml @@ -36,7 +36,6 @@ android:contentDescription="@string/edit" android:padding="6dp" android:src="@drawable/ic_edit" - android:tint="@color/primaryText" android:tooltipText="@string/edit" app:layout_constraintBottom_toTopOf="@id/title_example" app:layout_constraintRight_toLeftOf="@id/iv_delete" @@ -51,7 +50,6 @@ android:contentDescription="@string/delete" android:padding="6dp" android:src="@drawable/ic_clear_all" - android:tint="@color/primaryText" android:tooltipText="@string/delete" app:layout_constraintBottom_toTopOf="@id/title_example" app:layout_constraintRight_toRightOf="parent" diff --git a/app/src/main/res/layout/view_detail_seek_bar.xml b/app/src/main/res/layout/view_detail_seek_bar.xml index 67347b807..cd0a19256 100644 --- a/app/src/main/res/layout/view_detail_seek_bar.xml +++ b/app/src/main/res/layout/view_detail_seek_bar.xml @@ -12,7 +12,6 @@ android:layout_height="wrap_content" android:singleLine="true" android:text="seek" - android:textColor="@color/primaryText" tools:ignore="HardcodedText" /> + android:background="?android:attr/selectableItemBackgroundBorderless" /> + /> + /> \ No newline at end of file diff --git a/app/src/main/res/layout/view_search_menu.xml b/app/src/main/res/layout/view_search_menu.xml index d5218901b..d902efa0a 100644 --- a/app/src/main/res/layout/view_search_menu.xml +++ b/app/src/main/res/layout/view_search_menu.xml @@ -23,7 +23,6 @@ android:contentDescription="上个结果" android:rotation="180" android:src="@drawable/ic_arrow_right" - android:tint="@color/primaryText" android:tooltipText="@string/search_content" app:elevation="2dp" app:fabSize="mini" @@ -40,7 +39,6 @@ android:layout_margin="16dp" android:contentDescription="下个结果" android:src="@drawable/ic_arrow_right" - android:tint="@color/primaryText" android:tooltipText="@string/search_content" app:elevation="2dp" app:fabSize="mini" @@ -66,28 +64,6 @@ android:paddingLeft="10dp" android:paddingRight="10dp"> - - - - + + + + + @@ -138,7 +138,6 @@ android:contentDescription="结果" android:maxHeight="20dp" android:src="@drawable/ic_toc" - app:tint="@color/primaryText" tools:ignore="NestedWeights" /> @@ -179,7 +177,6 @@ android:contentDescription="@string/main_menu" android:maxHeight="20dp" android:src="@drawable/ic_menu" - app:tint="@color/primaryText" tools:ignore="NestedWeights" /> @@ -219,7 +215,6 @@ android:contentDescription="退出" android:maxHeight="20dp" android:src="@drawable/ic_auto_page_stop" - app:tint="@color/primaryText" tools:ignore="NestedWeights" /> diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 8f7dd9c04..592f36f79 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -74,7 +74,7 @@ true true @style/Widget.App.TabLayout - + @style/CollapsingToolbar