From 63a3dfafbc4c3c599fbdc92a280f46bf052cd5cf Mon Sep 17 00:00:00 2001 From: HapeLee <1321903405@qq.com> Date: Tue, 3 Jun 2025 03:02:00 +0800 Subject: [PATCH] Update UI --- .../app/lib/dialogs/AndroidAlertBuilder.kt | 2 +- .../io/legado/app/ui/book/read/ReadMenu.kt | 1 - .../ui/book/toc/rule/TxtTocRuleEditDialog.kt | 3 +- .../app/ui/dict/rule/DictRuleEditDialog.kt | 3 +- .../io/legado/app/ui/file/FilePickerDialog.kt | 18 +- .../style1/books/BooksAdapterGrid.kt | 35 ++-- .../main/bookshelf/style2/BooksAdapterGrid.kt | 23 ++- .../ui/rss/source/manage/GroupManageDialog.kt | 5 +- .../java/io/legado/app/ui/widget/LabelsBar.kt | 62 +++---- .../app/ui/widget/image/CoverImageView.kt | 24 +-- .../app/ui/widget/text/TextInputLayout.kt | 1 - .../main/res/drawable/bg_gradient_mask.xml | 2 +- app/src/main/res/drawable/ic_arrow_down.xml | 10 +- .../main/res/drawable/ic_arrow_drop_down.xml | 10 +- .../main/res/drawable/ic_arrow_drop_up.xml | 10 +- app/src/main/res/drawable/ic_arrow_right.xml | 10 +- .../res/drawable/ic_create_folder_outline.xml | 11 +- app/src/main/res/drawable/ic_file.xml | 4 + app/src/main/res/drawable/ic_folder.xml | 11 +- app/src/main/res/drawable/ic_folder_open.xml | 12 +- app/src/main/res/drawable/ic_return.xml | 4 + .../main/res/drawable/rounded_top_corners.xml | 13 ++ .../main/res/layout/activity_book_info.xml | 2 +- .../res/layout/activity_book_info_edit.xml | 59 +++---- .../res/layout/activity_book_source_edit.xml | 6 +- .../main/res/layout/activity_replace_edit.xml | 31 ++-- .../res/layout/activity_rss_source_edit.xml | 5 +- .../res/layout/dialog_book_group_edit.xml | 14 +- .../res/layout/dialog_book_group_picker.xml | 3 +- .../main/res/layout/dialog_dict_rule_edit.xml | 14 +- .../main/res/layout/dialog_file_chooser.xml | 17 +- .../main/res/layout/dialog_image_blurring.xml | 1 - .../res/layout/dialog_multiple_edit_text.xml | 8 +- .../main/res/layout/dialog_recycler_view.xml | 1 + .../main/res/layout/dialog_toc_regex_edit.xml | 17 +- app/src/main/res/layout/dialog_wait.xml | 5 +- .../main/res/layout/fragment_bookshelf1.xml | 6 +- app/src/main/res/layout/fragment_rss.xml | 3 +- app/src/main/res/layout/item_arrange_book.xml | 163 +++++++++--------- .../res/layout/item_book_group_manage.xml | 17 +- .../main/res/layout/item_bookshelf_grid.xml | 161 +++++++++-------- app/src/main/res/layout/item_download.xml | 14 +- app/src/main/res/layout/item_fillet_text.xml | 1 + app/src/main/res/layout/item_group_manage.xml | 34 ++-- app/src/main/res/layout/item_group_select.xml | 15 +- .../main/res/layout/item_icon_preference.xml | 1 + app/src/main/res/layout/item_source_edit.xml | 4 +- app/src/main/res/layout/view_search.xml | 2 +- .../res/layout/view_select_action_bar.xml | 13 +- app/src/main/res/values/strings.xml | 1 + app/src/main/res/values/styles.xml | 2 +- 51 files changed, 437 insertions(+), 457 deletions(-) create mode 100644 app/src/main/res/drawable/ic_file.xml create mode 100644 app/src/main/res/drawable/ic_return.xml create mode 100644 app/src/main/res/drawable/rounded_top_corners.xml diff --git a/app/src/main/java/io/legado/app/lib/dialogs/AndroidAlertBuilder.kt b/app/src/main/java/io/legado/app/lib/dialogs/AndroidAlertBuilder.kt index a2c28bb7f..0cd79ef8d 100644 --- a/app/src/main/java/io/legado/app/lib/dialogs/AndroidAlertBuilder.kt +++ b/app/src/main/java/io/legado/app/lib/dialogs/AndroidAlertBuilder.kt @@ -157,7 +157,7 @@ internal class AndroidAlertBuilder(override val ctx: Context) : AlertBuilder() diff --git a/app/src/main/java/io/legado/app/ui/file/FilePickerDialog.kt b/app/src/main/java/io/legado/app/ui/file/FilePickerDialog.kt index e825a0dd4..479f1b4da 100644 --- a/app/src/main/java/io/legado/app/ui/file/FilePickerDialog.kt +++ b/app/src/main/java/io/legado/app/ui/file/FilePickerDialog.kt @@ -5,10 +5,12 @@ import android.content.DialogInterface import android.content.Intent import android.net.Uri import android.os.Bundle +import android.util.TypedValue import android.view.MenuItem import android.view.View import android.view.ViewGroup import androidx.appcompat.widget.Toolbar +import androidx.core.content.ContextCompat import androidx.core.content.res.ResourcesCompat import androidx.core.graphics.drawable.DrawableCompat import androidx.fragment.app.FragmentManager @@ -165,7 +167,7 @@ class FilePickerDialog : BaseDialogFragment(R.layout.dialog_file_chooser), inner class PathAdapter : RecyclerAdapter(requireContext()) { - private val arrowIcon = ConvertUtils.toDrawable(FilePickerIcon.getArrow()) + private val arrowIcon = ContextCompat.getDrawable(requireContext(),R.drawable.ic_arrow_right) init { addHeaderView { @@ -207,14 +209,16 @@ class FilePickerDialog : BaseDialogFragment(R.layout.dialog_file_chooser), } inner class FileAdapter : RecyclerAdapter(requireContext()) { - //private val primaryTextColor = context.getPrimaryTextColor(!AppConfig.isNightTheme) - //private val disabledTextColor = context.getPrimaryDisabledTextColor(!AppConfig.isNightTheme) - private val upIcon = ConvertUtils.toDrawable(FilePickerIcon.getUpDir())!! - private val folderIcon = ConvertUtils.toDrawable(FilePickerIcon.getFolder())!! - private val fileIcon = ConvertUtils.toDrawable(FilePickerIcon.getFile())!! + private val upIcon = ContextCompat.getDrawable(requireContext(),R.drawable.ic_return) + private val folderIcon = ContextCompat.getDrawable(requireContext(),R.drawable.ic_folder) + private val fileIcon = ContextCompat.getDrawable(requireContext(),R.drawable.ic_file) private val selectDrawable = ResourcesCompat.getDrawable(resources, R.drawable.shape_radius_1dp, null)!!.apply { - //DrawableCompat.setTint(this, primaryTextColor) + // 从主题获取颜色 + val typedValue = TypedValue() + requireContext().theme.resolveAttribute(android.R.attr.colorPrimary, typedValue, true) + val primaryColor = typedValue.data + DrawableCompat.setTint(this, primaryColor) } var selectFile: File? = null diff --git a/app/src/main/java/io/legado/app/ui/main/bookshelf/style1/books/BooksAdapterGrid.kt b/app/src/main/java/io/legado/app/ui/main/bookshelf/style1/books/BooksAdapterGrid.kt index 302f1b466..4a3b70837 100644 --- a/app/src/main/java/io/legado/app/ui/main/bookshelf/style1/books/BooksAdapterGrid.kt +++ b/app/src/main/java/io/legado/app/ui/main/bookshelf/style1/books/BooksAdapterGrid.kt @@ -2,6 +2,7 @@ package io.legado.app.ui.main.bookshelf.style1.books import android.content.Context import android.os.Bundle +import android.view.View import android.view.ViewGroup import io.legado.app.base.adapter.ItemViewHolder import io.legado.app.data.entities.Book @@ -44,32 +45,36 @@ class BooksAdapterGrid(context: Context, private val callBack: CallBack) : private fun upRefresh(binding: ItemBookshelfGridBinding, item: Book) { if (!item.isLocal && callBack.isUpdate(item.bookUrl)) { - binding.bvUnread.invisible() - binding.rlLoading.visible() + binding.cdUnread.visibility = View.GONE + binding.rlLoading.visibility = View.VISIBLE } else { - binding.rlLoading.inVisible() + binding.rlLoading.visibility = View.GONE if (AppConfig.showUnread) { - binding.bvUnread.setBadgeCount(item.getUnreadChapterNum()) - binding.bvUnread.setHighlight(item.lastCheckCount > 0) + val unreadCount = item.getUnreadChapterNum() + if (unreadCount > 0) { + binding.cdUnread.visibility = View.VISIBLE + binding.tvUnread.text = unreadCount.toString() + } else { + binding.cdUnread.visibility = View.GONE + } } else { - binding.bvUnread.invisible() + binding.cdUnread.visibility = View.GONE } } } override fun registerListener(holder: ItemViewHolder, binding: ItemBookshelfGridBinding) { - holder.itemView.apply { - setOnClickListener { - getItem(holder.layoutPosition)?.let { - callBack.open(it) - } + binding.cvContent.setOnClickListener { + getItem(holder.layoutPosition)?.let { + callBack.open(it) } + } - onLongClick { - getItem(holder.layoutPosition)?.let { - callBack.openBookInfo(it) - } + binding.cvContent.setOnLongClickListener { + getItem(holder.layoutPosition)?.let { + callBack.openBookInfo(it) } + true } } } \ No newline at end of file diff --git a/app/src/main/java/io/legado/app/ui/main/bookshelf/style2/BooksAdapterGrid.kt b/app/src/main/java/io/legado/app/ui/main/bookshelf/style2/BooksAdapterGrid.kt index 569f77afc..737e8ed22 100644 --- a/app/src/main/java/io/legado/app/ui/main/bookshelf/style2/BooksAdapterGrid.kt +++ b/app/src/main/java/io/legado/app/ui/main/bookshelf/style2/BooksAdapterGrid.kt @@ -2,6 +2,7 @@ package io.legado.app.ui.main.bookshelf.style2 import android.content.Context import android.os.Bundle +import android.view.View import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView import io.legado.app.data.entities.Book @@ -89,19 +90,25 @@ class BooksAdapterGrid(context: Context, callBack: CallBack) : private fun upRefresh(binding: ItemBookshelfGridBinding, item: Book) { if (!item.isLocal && callBack.isUpdate(item.bookUrl)) { - binding.bvUnread.invisible() - binding.rlLoading.visible() + binding.cdUnread.visibility = View.GONE + binding.rlLoading.visibility = View.VISIBLE } else { - binding.rlLoading.inVisible() + binding.rlLoading.visibility = View.GONE if (AppConfig.showUnread) { - binding.bvUnread.setBadgeCount(item.getUnreadChapterNum()) - binding.bvUnread.setHighlight(item.lastCheckCount > 0) + val unreadCount = item.getUnreadChapterNum() + if (unreadCount > 0) { + binding.cdUnread.visibility = View.VISIBLE + binding.tvUnread.text = unreadCount.toString() + } else { + binding.cdUnread.visibility = View.GONE + } } else { - binding.bvUnread.invisible() + binding.cdUnread.visibility = View.GONE } } } + } inner class GroupViewHolder(val binding: ItemBookshelfGridGroupBinding) : @@ -129,10 +136,10 @@ class BooksAdapterGrid(context: Context, callBack: CallBack) : } fun registerListener(item: Any) { - binding.root.setOnClickListener { + binding.cvContent.setOnClickListener { callBack.onItemClick(item) } - binding.root.onLongClick { + binding.cvContent.onLongClick { callBack.onItemLongClick(item) } } diff --git a/app/src/main/java/io/legado/app/ui/rss/source/manage/GroupManageDialog.kt b/app/src/main/java/io/legado/app/ui/rss/source/manage/GroupManageDialog.kt index 4c26efdb4..e6f871e01 100644 --- a/app/src/main/java/io/legado/app/ui/rss/source/manage/GroupManageDialog.kt +++ b/app/src/main/java/io/legado/app/ui/rss/source/manage/GroupManageDialog.kt @@ -11,6 +11,7 @@ import androidx.fragment.app.activityViewModels import androidx.lifecycle.lifecycleScope import androidx.recyclerview.widget.LinearLayoutManager import io.legado.app.R +import io.legado.app.base.BaseBottomSheetDialogFragment import io.legado.app.base.BaseDialogFragment import io.legado.app.base.adapter.ItemViewHolder import io.legado.app.base.adapter.RecyclerAdapter @@ -32,7 +33,7 @@ import kotlinx.coroutines.flow.conflate import kotlinx.coroutines.launch -class GroupManageDialog : BaseDialogFragment(R.layout.dialog_recycler_view), +class GroupManageDialog : BaseBottomSheetDialogFragment(R.layout.dialog_recycler_view), Toolbar.OnMenuItemClickListener { private val viewModel: RssSourceViewModel by activityViewModels() @@ -41,7 +42,7 @@ class GroupManageDialog : BaseDialogFragment(R.layout.dialog_recycler_view), override fun onStart() { super.onStart() - setLayout(0.9f, 0.9f) + } override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) = binding.run { diff --git a/app/src/main/java/io/legado/app/ui/widget/LabelsBar.kt b/app/src/main/java/io/legado/app/ui/widget/LabelsBar.kt index c2d1ad781..a5124a88a 100644 --- a/app/src/main/java/io/legado/app/ui/widget/LabelsBar.kt +++ b/app/src/main/java/io/legado/app/ui/widget/LabelsBar.kt @@ -1,9 +1,13 @@ package io.legado.app.ui.widget import android.content.Context +import android.os.Build import android.util.AttributeSet import android.widget.LinearLayout import android.widget.TextView +import androidx.annotation.RequiresApi +import com.google.android.material.chip.Chip +import com.google.android.material.chip.ChipGroup import io.legado.app.ui.widget.text.AccentBgTextView import io.legado.app.utils.dpToPx @@ -11,19 +15,19 @@ import io.legado.app.utils.dpToPx class LabelsBar @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null -) : LinearLayout(context, attrs) { +) : ChipGroup(context, attrs) { - private val unUsedViews = arrayListOf() - private val usedViews = arrayListOf() - var textSize = 12f + private val unUsedChips = arrayListOf() + private val usedChips = arrayListOf() + //var textSizeSp = 12f - fun setLabels(labels: Array) { - clear() - labels.forEach { - addLabel(it) - } + init { +// isSingleLine = false +// chipSpacingHorizontal = 8.dpToPx() +// chipSpacingVertical = 4.dpToPx() } + @RequiresApi(Build.VERSION_CODES.VANILLA_ICE_CREAM) fun setLabels(labels: List) { clear() labels.forEach { @@ -31,32 +35,32 @@ class LabelsBar @JvmOverloads constructor( } } + @RequiresApi(Build.VERSION_CODES.VANILLA_ICE_CREAM) + fun setLabels(labels: Array) { + setLabels(labels.toList()) + } + fun clear() { - unUsedViews.addAll(usedViews) - usedViews.clear() + unUsedChips.addAll(usedChips) + usedChips.clear() removeAllViews() } + @RequiresApi(Build.VERSION_CODES.VANILLA_ICE_CREAM) fun addLabel(label: String) { - val tv = if (unUsedViews.isEmpty()) { - AccentBgTextView(context, null).apply { - setPadding(3.dpToPx(), 0, 3.dpToPx(), 0) - //setRadius(2) - val lp = LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT) - lp.setMargins(0, 0, 2.dpToPx(), 0) - layoutParams = lp - text = label - maxLines = 1 - usedViews.add(this) + val chip = if (unUsedChips.isEmpty()) { + Chip(context).apply { + isClickable = false + isCheckable = false + chipStartPadding = 8f + chipEndPadding = 8f + chipStrokeWidth = 0f + usedChips.add(this) } } else { - unUsedViews.last().apply { - usedViews.add(this) - unUsedViews.removeAt(unUsedViews.lastIndex) - } + unUsedChips.removeLast().also { usedChips.add(it) } } - tv.textSize = textSize - tv.text = label - addView(tv) + chip.text = label + addView(chip) } -} \ No newline at end of file +} diff --git a/app/src/main/java/io/legado/app/ui/widget/image/CoverImageView.kt b/app/src/main/java/io/legado/app/ui/widget/image/CoverImageView.kt index 191cfea5d..3a8ae3c83 100644 --- a/app/src/main/java/io/legado/app/ui/widget/image/CoverImageView.kt +++ b/app/src/main/java/io/legado/app/ui/widget/image/CoverImageView.kt @@ -81,22 +81,26 @@ class CoverImageView @JvmOverloads constructor( ) } + private val cornerRadius = 24f + override fun onLayout(changed: Boolean, left: Int, top: Int, right: Int, bottom: Int) { super.onLayout(changed, left, top, right, bottom) viewWidth = width.toFloat() viewHeight = height.toFloat() filletPath.reset() - if (width > 10 && viewHeight > 10) { + + if (viewWidth > cornerRadius * 2 && viewHeight > cornerRadius * 2) { + val r = cornerRadius filletPath.apply { - moveTo(12f, 0f) - lineTo(viewWidth - 12, 0f) - quadTo(viewWidth, 0f, viewWidth, 12f) - lineTo(viewWidth, viewHeight - 12) - quadTo(viewWidth, viewHeight, viewWidth - 12, viewHeight) - lineTo(12f, viewHeight) - quadTo(0f, viewHeight, 0f, viewHeight - 12) - lineTo(0f, 12f) - quadTo(0f, 0f, 12f, 0f) + moveTo(r, 0f) + lineTo(viewWidth - r, 0f) + quadTo(viewWidth, 0f, viewWidth, r) + lineTo(viewWidth, viewHeight - r) + quadTo(viewWidth, viewHeight, viewWidth - r, viewHeight) + lineTo(r, viewHeight) + quadTo(0f, viewHeight, 0f, viewHeight - r) + lineTo(0f, r) + quadTo(0f, 0f, r, 0f) close() } } diff --git a/app/src/main/java/io/legado/app/ui/widget/text/TextInputLayout.kt b/app/src/main/java/io/legado/app/ui/widget/text/TextInputLayout.kt index 015e848c3..1de3ab35d 100644 --- a/app/src/main/java/io/legado/app/ui/widget/text/TextInputLayout.kt +++ b/app/src/main/java/io/legado/app/ui/widget/text/TextInputLayout.kt @@ -14,5 +14,4 @@ class TextInputLayout(context: Context, attrs: AttributeSet?) : TextInputLayout( Selector.colorBuild().setDefaultColor(ThemeStore.accentColor(context)).create() } } - } diff --git a/app/src/main/res/drawable/bg_gradient_mask.xml b/app/src/main/res/drawable/bg_gradient_mask.xml index 265b07bdc..c7dba5bcb 100644 --- a/app/src/main/res/drawable/bg_gradient_mask.xml +++ b/app/src/main/res/drawable/bg_gradient_mask.xml @@ -4,6 +4,6 @@ \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_arrow_down.xml b/app/src/main/res/drawable/ic_arrow_down.xml index 19a41e8db..9b47238f5 100644 --- a/app/src/main/res/drawable/ic_arrow_down.xml +++ b/app/src/main/res/drawable/ic_arrow_down.xml @@ -1,9 +1,3 @@ - - + + diff --git a/app/src/main/res/drawable/ic_arrow_drop_down.xml b/app/src/main/res/drawable/ic_arrow_drop_down.xml index df5ff10d0..0f5162d60 100644 --- a/app/src/main/res/drawable/ic_arrow_drop_down.xml +++ b/app/src/main/res/drawable/ic_arrow_drop_down.xml @@ -1,9 +1,3 @@ - - + + diff --git a/app/src/main/res/drawable/ic_arrow_drop_up.xml b/app/src/main/res/drawable/ic_arrow_drop_up.xml index ed31816be..2184b839b 100644 --- a/app/src/main/res/drawable/ic_arrow_drop_up.xml +++ b/app/src/main/res/drawable/ic_arrow_drop_up.xml @@ -1,9 +1,3 @@ - - + + diff --git a/app/src/main/res/drawable/ic_arrow_right.xml b/app/src/main/res/drawable/ic_arrow_right.xml index 72bcbdb79..1433fe33f 100644 --- a/app/src/main/res/drawable/ic_arrow_right.xml +++ b/app/src/main/res/drawable/ic_arrow_right.xml @@ -1,9 +1,3 @@ - - + + diff --git a/app/src/main/res/drawable/ic_create_folder_outline.xml b/app/src/main/res/drawable/ic_create_folder_outline.xml index 8428fd381..17505f769 100644 --- a/app/src/main/res/drawable/ic_create_folder_outline.xml +++ b/app/src/main/res/drawable/ic_create_folder_outline.xml @@ -1,10 +1,3 @@ - - + + diff --git a/app/src/main/res/drawable/ic_file.xml b/app/src/main/res/drawable/ic_file.xml new file mode 100644 index 000000000..87afbfa6b --- /dev/null +++ b/app/src/main/res/drawable/ic_file.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_folder.xml b/app/src/main/res/drawable/ic_folder.xml index cb2a84ca4..aa1324824 100644 --- a/app/src/main/res/drawable/ic_folder.xml +++ b/app/src/main/res/drawable/ic_folder.xml @@ -1,10 +1,3 @@ - - + + diff --git a/app/src/main/res/drawable/ic_folder_open.xml b/app/src/main/res/drawable/ic_folder_open.xml index 4235565f3..6d38bd81f 100644 --- a/app/src/main/res/drawable/ic_folder_open.xml +++ b/app/src/main/res/drawable/ic_folder_open.xml @@ -1,9 +1,3 @@ - - - + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_return.xml b/app/src/main/res/drawable/ic_return.xml new file mode 100644 index 000000000..9443992dd --- /dev/null +++ b/app/src/main/res/drawable/ic_return.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/rounded_top_corners.xml b/app/src/main/res/drawable/rounded_top_corners.xml new file mode 100644 index 000000000..a4abd91d0 --- /dev/null +++ b/app/src/main/res/drawable/rounded_top_corners.xml @@ -0,0 +1,13 @@ + + + + + + + + diff --git a/app/src/main/res/layout/activity_book_info.xml b/app/src/main/res/layout/activity_book_info.xml index 90a807b0c..389270b0a 100644 --- a/app/src/main/res/layout/activity_book_info.xml +++ b/app/src/main/res/layout/activity_book_info.xml @@ -196,7 +196,7 @@ android:scrollbars="none" /> + android:layout_marginHorizontal="16dp" + android:layout_marginVertical="8dp"> - - - - - - + - - - - - + - - + - - - - - + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_book_source_edit.xml b/app/src/main/res/layout/activity_book_source_edit.xml index 8b526fa12..1a190d61c 100644 --- a/app/src/main/res/layout/activity_book_source_edit.xml +++ b/app/src/main/res/layout/activity_book_source_edit.xml @@ -15,7 +15,8 @@ + android:scrollbars="none" + android:paddingHorizontal="12dp"> + android:padding="16dp"> - - + - - + - - + - - + - - + - - + - - + diff --git a/app/src/main/res/layout/activity_rss_source_edit.xml b/app/src/main/res/layout/activity_rss_source_edit.xml index 7e857c8bf..8eac6396f 100644 --- a/app/src/main/res/layout/activity_rss_source_edit.xml +++ b/app/src/main/res/layout/activity_rss_source_edit.xml @@ -24,7 +24,7 @@ android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:orientation="horizontal" - android:paddingHorizontal="8dp" + android:paddingHorizontal="12dp" tools:ignore="VisualLintBounds"> + android:orientation="vertical"> + android:padding="16dp"> - - - + + android:gravity="center_vertical" + android:padding="16dp"> + android:layout_height="match_parent"> + android:padding="16dp"> - @@ -46,9 +46,9 @@ android:layout_height="wrap_content" tools:ignore="SpeakableTextPresentCheck,TouchTargetSizeCheck" /> - + - @@ -59,9 +59,9 @@ android:layout_height="wrap_content" tools:ignore="SpeakableTextPresentCheck,TouchTargetSizeCheck" /> - + - @@ -72,7 +72,7 @@ android:layout_height="wrap_content" tools:ignore="SpeakableTextPresentCheck,TouchTargetSizeCheck" /> - + diff --git a/app/src/main/res/layout/dialog_file_chooser.xml b/app/src/main/res/layout/dialog_file_chooser.xml index a50fafd0e..6de2c81c6 100644 --- a/app/src/main/res/layout/dialog_file_chooser.xml +++ b/app/src/main/res/layout/dialog_file_chooser.xml @@ -3,23 +3,20 @@ xmlns:app="http://schemas.android.com/apk/res-auto" android:orientation="vertical" android:layout_width="match_parent" - android:layout_height="match_parent" - > + android:layout_height="match_parent"> - + android:paddingLeft="12dp" + android:paddingRight="12dp" /> - diff --git a/app/src/main/res/layout/dialog_image_blurring.xml b/app/src/main/res/layout/dialog_image_blurring.xml index b9d20e55e..25f0d5516 100644 --- a/app/src/main/res/layout/dialog_image_blurring.xml +++ b/app/src/main/res/layout/dialog_image_blurring.xml @@ -11,7 +11,6 @@ android:layout_height="wrap_content" android:padding="6dp" android:layout_gravity="center_horizontal" - android:textColor="@color/primaryText" android:textSize="17sp" /> - @@ -22,9 +22,9 @@ android:layout_height="wrap_content" tools:ignore="SpeakableTextPresentCheck,TouchTargetSizeCheck" /> - + - - + diff --git a/app/src/main/res/layout/dialog_recycler_view.xml b/app/src/main/res/layout/dialog_recycler_view.xml index 73e2f3069..fb1546296 100644 --- a/app/src/main/res/layout/dialog_recycler_view.xml +++ b/app/src/main/res/layout/dialog_recycler_view.xml @@ -72,6 +72,7 @@ android:id="@+id/tv_ok" android:layout_width="wrap_content" android:layout_height="wrap_content" + style="@style/Widget.Material3.Button.UnelevatedButton" android:padding="12dp" android:text="@string/ok" android:visibility="gone" diff --git a/app/src/main/res/layout/dialog_toc_regex_edit.xml b/app/src/main/res/layout/dialog_toc_regex_edit.xml index 3980045a3..f5c9d1755 100644 --- a/app/src/main/res/layout/dialog_toc_regex_edit.xml +++ b/app/src/main/res/layout/dialog_toc_regex_edit.xml @@ -17,7 +17,6 @@ android:id="@+id/tool_bar" android:layout_width="match_parent" android:layout_height="wrap_content" - android:elevation="5dp" android:theme="?attr/actionBarStyle" app:displayHomeAsUp="false" app:fitStatusBar="false" @@ -28,15 +27,15 @@ + android:orientation="vertical" + android:padding="16dp"> - @@ -47,9 +46,9 @@ android:layout_height="wrap_content" tools:ignore="SpeakableTextPresentCheck,TouchTargetSizeCheck" /> - + - @@ -60,9 +59,9 @@ android:layout_height="wrap_content" tools:ignore="SpeakableTextPresentCheck,TouchTargetSizeCheck" /> - + - @@ -73,7 +72,7 @@ android:layout_height="wrap_content" tools:ignore="SpeakableTextPresentCheck,TouchTargetSizeCheck" /> - + diff --git a/app/src/main/res/layout/dialog_wait.xml b/app/src/main/res/layout/dialog_wait.xml index f1f9735f3..7f1608de9 100644 --- a/app/src/main/res/layout/dialog_wait.xml +++ b/app/src/main/res/layout/dialog_wait.xml @@ -6,7 +6,7 @@ android:padding="20dp" android:orientation="horizontal"> - + android:text="@string/loading" /> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_bookshelf1.xml b/app/src/main/res/layout/fragment_bookshelf1.xml index 140de35a6..6aa8bbc45 100644 --- a/app/src/main/res/layout/fragment_bookshelf1.xml +++ b/app/src/main/res/layout/fragment_bookshelf1.xml @@ -4,8 +4,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" - android:layout_height="match_parent" - android:fitsSystemWindows="true"> + android:layout_height="match_parent"> @@ -44,6 +43,7 @@ android:id="@+id/view_pager_bookshelf" android:layout_width="match_parent" android:layout_height="match_parent" + android:paddingHorizontal="8dp" app:layout_behavior="@string/appbar_scrolling_view_behavior" /> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_rss.xml b/app/src/main/res/layout/fragment_rss.xml index 21cabba05..f81085c86 100644 --- a/app/src/main/res/layout/fragment_rss.xml +++ b/app/src/main/res/layout/fragment_rss.xml @@ -24,7 +24,7 @@ android:id="@+id/top_bar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" - app:title="@string/discovery" + app:title="@string/rss" app:layout_collapseMode="pin" /> @@ -34,7 +34,6 @@ layout="@layout/view_search" android:layout_width="match_parent" android:layout_height="wrap_content" - android:visibility="gone" android:layout_marginHorizontal="16dp" /> diff --git a/app/src/main/res/layout/item_arrange_book.xml b/app/src/main/res/layout/item_arrange_book.xml index 48ae5a58a..84815e111 100644 --- a/app/src/main/res/layout/item_arrange_book.xml +++ b/app/src/main/res/layout/item_arrange_book.xml @@ -1,102 +1,97 @@ - + android:orientation="horizontal" + android:paddingStart="8dp" + android:paddingEnd="16dp" + android:paddingVertical="8dp"> + android:layout_marginEnd="4dp" + android:gravity="center_vertical" /> - - - + android:layout_weight="1" + android:orientation="vertical"> - + + - + + - - + - \ No newline at end of file + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/item_book_group_manage.xml b/app/src/main/res/layout/item_book_group_manage.xml index b1ec9ac99..9efd99791 100644 --- a/app/src/main/res/layout/item_book_group_manage.xml +++ b/app/src/main/res/layout/item_book_group_manage.xml @@ -3,26 +3,25 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="wrap_content" + xmlns:app="http://schemas.android.com/apk/res-auto" android:gravity="center_vertical" android:orientation="horizontal" - android:padding="8dp"> + android:padding="16dp"> - + android:layout_width="48dp" + android:layout_height="48dp" + android:layout_marginEnd="8dp" + style="@style/Widget.Material3.Button.IconButton.Filled.Tonal" + app:icon="@drawable/ic_edit" /> + android:layout_height="wrap_content"> - - - + android:orientation="vertical"> - + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + - - - diff --git a/app/src/main/res/layout/item_download.xml b/app/src/main/res/layout/item_download.xml index a0ab7a433..3f1b72859 100644 --- a/app/src/main/res/layout/item_download.xml +++ b/app/src/main/res/layout/item_download.xml @@ -11,7 +11,7 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:singleLine="true" - android:textColor="@color/primaryText" + android:textSize="18sp" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toLeftOf="@+id/iv_download" app:layout_constraintTop_toTopOf="parent" @@ -22,7 +22,6 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:singleLine="true" - android:textColor="@color/primaryText" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toLeftOf="@+id/iv_download" app:layout_constraintTop_toBottomOf="@+id/tv_name" @@ -50,12 +49,13 @@ app:layout_constraintRight_toLeftOf="@+id/tv_export" app:layout_constraintTop_toTopOf="@id/tv_name" /> - diff --git a/app/src/main/res/layout/item_group_manage.xml b/app/src/main/res/layout/item_group_manage.xml index cc63da039..b2089a638 100644 --- a/app/src/main/res/layout/item_group_manage.xml +++ b/app/src/main/res/layout/item_group_manage.xml @@ -2,34 +2,32 @@ + android:paddingHorizontal="16dp" + android:paddingVertical="8dp"> + style="@style/TextAppearance.AppCompat.Medium" + android:layout_weight="1" /> - - - + style="@style/Widget.Material3.Button.IconButton.Outlined" + android:layout_marginEnd="4dp" + app:icon="@drawable/ic_clear_all" /> + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_group_select.xml b/app/src/main/res/layout/item_group_select.xml index 7e83234bf..d8f073a17 100644 --- a/app/src/main/res/layout/item_group_select.xml +++ b/app/src/main/res/layout/item_group_select.xml @@ -2,7 +2,10 @@ @@ -12,15 +15,13 @@ android:layout_height="wrap_content" android:layout_gravity="center" android:layout_weight="1" - android:singleLine="true" - android:textColor="@color/primaryText" /> + android:singleLine="true" /> - + style="@style/Widget.Material3.Button.IconButton.Filled.Tonal" + app:icon="@drawable/ic_edit" /> \ No newline at end of file diff --git a/app/src/main/res/layout/item_icon_preference.xml b/app/src/main/res/layout/item_icon_preference.xml index a2f88f205..845817443 100644 --- a/app/src/main/res/layout/item_icon_preference.xml +++ b/app/src/main/res/layout/item_icon_preference.xml @@ -3,6 +3,7 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="?android:attr/listPreferredItemHeight" + android:padding="16dp" android:background="?attr/selectableItemBackground"> - - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/layout/view_search.xml b/app/src/main/res/layout/view_search.xml index f87aacfc5..2077602f3 100644 --- a/app/src/main/res/layout/view_search.xml +++ b/app/src/main/res/layout/view_search.xml @@ -6,7 +6,7 @@ android:theme="?attr/actionBarStyle" android:background="@drawable/bg_searchview" android:layout_width="match_parent" - android:layout_height="40dp" + android:layout_height="36dp" android:layout_marginTop="8dp" android:layout_marginBottom="8dp" android:imeOptions="actionSearch" diff --git a/app/src/main/res/layout/view_select_action_bar.xml b/app/src/main/res/layout/view_select_action_bar.xml index 2e64c5257..b7cd8f9b4 100644 --- a/app/src/main/res/layout/view_select_action_bar.xml +++ b/app/src/main/res/layout/view_select_action_bar.xml @@ -4,12 +4,11 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="wrap_content" - android:elevation="2dp" android:gravity="center_vertical" android:orientation="horizontal" - android:paddingLeft="16dp" + android:paddingEnd="16dp" android:paddingTop="6dp" - android:paddingRight="8dp" + android:paddingStart="16dp" android:paddingBottom="6dp" tools:ignore="RtlHardcoded"> @@ -18,13 +17,14 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" - android:padding="5dp" + android:padding="4dp" android:text="@string/select_all" /> - - diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 0fff49e57..6a26b11cd 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1218,4 +1218,5 @@ 滤镜 隐藏漫画列表标题 刷新发现 + 未分组 diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 395221529..9e4991e26 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -101,7 +101,7 @@ 500 -