diff --git a/app/src/main/java/io/legado/app/ui/main/bookshelf/books/BooksFragment.kt b/app/src/main/java/io/legado/app/ui/main/bookshelf/books/BooksFragment.kt index 96960c41d..19c506696 100644 --- a/app/src/main/java/io/legado/app/ui/main/bookshelf/books/BooksFragment.kt +++ b/app/src/main/java/io/legado/app/ui/main/bookshelf/books/BooksFragment.kt @@ -127,9 +127,7 @@ class BooksFragment() : BaseFragment(R.layout.fragment_books), } private fun initRecyclerView() { - //binding.rvBookshelf.setEdgeEffectColor(primaryColor) upFastScrollerBar() - //binding.refreshLayout.setColorSchemeColors(accentColor) binding.refreshLayout.setOnRefreshListener { val books = booksAdapter.getItems() val refreshList = if (AppConfig.bookshelfRefreshingLimit > 0) { @@ -289,8 +287,6 @@ class BooksFragment() : BaseFragment(R.layout.fragment_books), /** * 将 RecyclerView 中的视图全部回收到 RecycledViewPool 中 */ - upLastUpdateTimeJob?.cancel() - booksFlowJob?.cancel() binding.rvBookshelf.setItemViewCacheSize(0) binding.rvBookshelf.adapter = null } diff --git a/app/src/main/java/io/legado/app/ui/main/bookshelf/books/styleDefalut/BaseBooksAdapter.kt b/app/src/main/java/io/legado/app/ui/main/bookshelf/books/styleDefalut/BaseBooksAdapter.kt index 1a2d14550..dc869082d 100644 --- a/app/src/main/java/io/legado/app/ui/main/bookshelf/books/styleDefalut/BaseBooksAdapter.kt +++ b/app/src/main/java/io/legado/app/ui/main/bookshelf/books/styleDefalut/BaseBooksAdapter.kt @@ -77,7 +77,7 @@ abstract class BaseBooksAdapter(context: Context) : fun notification(bookUrl: String) { getItems().forEachIndexed { i, it -> if (it.bookUrl == bookUrl) { - notifyItemChanged(i, bundleOf("refresh" to true, "lastUpdateTime" to true)) + notifyItemChanged(i, bundleOf(Pair("refresh", null), Pair("lastUpdateTime", null))) return } } diff --git a/app/src/main/java/io/legado/app/ui/main/bookshelf/books/styleDefalut/BooksAdapterGrid.kt b/app/src/main/java/io/legado/app/ui/main/bookshelf/books/styleDefalut/BooksAdapterGrid.kt index b97995078..c051f2a53 100644 --- a/app/src/main/java/io/legado/app/ui/main/bookshelf/books/styleDefalut/BooksAdapterGrid.kt +++ b/app/src/main/java/io/legado/app/ui/main/bookshelf/books/styleDefalut/BooksAdapterGrid.kt @@ -9,6 +9,7 @@ import io.legado.app.databinding.ItemBookshelfGridBinding import io.legado.app.help.book.isLocal import io.legado.app.help.config.AppConfig import io.legado.app.utils.gone +import io.legado.app.utils.invisible import io.legado.app.utils.visible class BooksAdapterGrid(context: Context, private val callBack: CallBack) : @@ -44,7 +45,7 @@ class BooksAdapterGrid(context: Context, private val callBack: CallBack) : private fun upRefresh(binding: ItemBookshelfGridBinding, item: Book) { if (!item.isLocal && callBack.isUpdate(item.bookUrl)) { - binding.cdUnread.gone() + binding.cdUnread.invisible() binding.rlLoading.visible() } else { binding.rlLoading.gone() @@ -54,25 +55,25 @@ class BooksAdapterGrid(context: Context, private val callBack: CallBack) : binding.cdUnread.visible() binding.tvUnread.text = unreadCount.toString() } else { - binding.cdUnread.gone() + binding.cdUnread.invisible() } } else { - binding.cdUnread.gone() + binding.cdUnread.invisible() } } } override fun registerListener(holder: ItemViewHolder, binding: ItemBookshelfGridBinding) { - binding.cvContent.setOnClickListener { + holder.itemView.setOnClickListener { getItem(holder.layoutPosition)?.let { - callBack.open(it, binding.cdCover) + callBack.open(it, binding.root) } } - binding.cvContent.setOnLongClickListener { + holder.itemView.setOnLongClickListener { getItem(holder.layoutPosition)?.let { - callBack.openBookInfo(it, binding.cdCover) + callBack.openBookInfo(it, binding.root) } true } diff --git a/app/src/main/java/io/legado/app/ui/main/bookshelf/books/styleDefalut/BooksAdapterGridCompact.kt b/app/src/main/java/io/legado/app/ui/main/bookshelf/books/styleDefalut/BooksAdapterGridCompact.kt index fdaa08ea9..65048bd5c 100644 --- a/app/src/main/java/io/legado/app/ui/main/bookshelf/books/styleDefalut/BooksAdapterGridCompact.kt +++ b/app/src/main/java/io/legado/app/ui/main/bookshelf/books/styleDefalut/BooksAdapterGridCompact.kt @@ -73,15 +73,15 @@ class BooksAdapterGridCompact(context: Context, private val callBack: CallBack) binding: ItemBookshelfGridCompactBinding ) { - binding.cvContent.setOnClickListener { + holder.itemView.setOnClickListener { getItem(holder.layoutPosition)?.let { - callBack.open(it, binding.cvContent) + callBack.open(it, binding.root) } } - binding.cvContent.setOnLongClickListener { + holder.itemView.setOnLongClickListener { getItem(holder.layoutPosition)?.let { - callBack.openBookInfo(it, binding.cvContent) + callBack.openBookInfo(it, binding.root) } true } diff --git a/app/src/main/java/io/legado/app/ui/main/bookshelf/books/styleDefalut/BooksAdapterGridCover.kt b/app/src/main/java/io/legado/app/ui/main/bookshelf/books/styleDefalut/BooksAdapterGridCover.kt index fc520ddbf..dac8abf2f 100644 --- a/app/src/main/java/io/legado/app/ui/main/bookshelf/books/styleDefalut/BooksAdapterGridCover.kt +++ b/app/src/main/java/io/legado/app/ui/main/bookshelf/books/styleDefalut/BooksAdapterGridCover.kt @@ -74,15 +74,15 @@ class BooksAdapterGridCover(context: Context, private val callBack: CallBack) : binding: ItemBookshelfGridCompactBinding ) { - binding.cvContent.setOnClickListener { + holder.itemView.setOnClickListener { getItem(holder.layoutPosition)?.let { - callBack.open(it, binding.cvContent) + callBack.open(it, binding.root) } } - binding.cvContent.setOnLongClickListener { + holder.itemView.setOnLongClickListener { getItem(holder.layoutPosition)?.let { - callBack.openBookInfo(it, binding.cvContent) + callBack.openBookInfo(it, binding.root) } true } diff --git a/app/src/main/java/io/legado/app/ui/main/bookshelf/books/styleDefalut/BooksAdapterList.kt b/app/src/main/java/io/legado/app/ui/main/bookshelf/books/styleDefalut/BooksAdapterList.kt index 72f3dfc98..27ff43f0f 100644 --- a/app/src/main/java/io/legado/app/ui/main/bookshelf/books/styleDefalut/BooksAdapterList.kt +++ b/app/src/main/java/io/legado/app/ui/main/bookshelf/books/styleDefalut/BooksAdapterList.kt @@ -104,13 +104,13 @@ class BooksAdapterList( holder.itemView.apply { binding.cvContent.setOnClickListener { getItem(holder.layoutPosition)?.let { - callBack.open(it, binding.cdCover) + callBack.open(it, binding.cvContent) } } binding.cvContent.onLongClick { getItem(holder.layoutPosition)?.let { - callBack.openBookInfo(it, binding.cdCover) + callBack.openBookInfo(it, binding.cvContent) } } } diff --git a/app/src/main/java/io/legado/app/ui/main/bookshelf/books/styleDefalut/BooksAdapterListCompact.kt b/app/src/main/java/io/legado/app/ui/main/bookshelf/books/styleDefalut/BooksAdapterListCompact.kt index 0b6413acb..302233afa 100644 --- a/app/src/main/java/io/legado/app/ui/main/bookshelf/books/styleDefalut/BooksAdapterListCompact.kt +++ b/app/src/main/java/io/legado/app/ui/main/bookshelf/books/styleDefalut/BooksAdapterListCompact.kt @@ -108,13 +108,13 @@ class BooksAdapterListCompact( holder.itemView.apply { binding.cvContent.setOnClickListener { getItem(holder.layoutPosition)?.let { - callBack.open(it, binding.cdCover) + callBack.open(it, binding.cvContent) } } binding.cvContent.onLongClick { getItem(holder.layoutPosition)?.let { - callBack.openBookInfo(it, binding.cdCover) + callBack.openBookInfo(it, binding.cvContent) } } } diff --git a/app/src/main/java/io/legado/app/ui/main/bookshelf/books/styleFold/BooksAdapterList.kt b/app/src/main/java/io/legado/app/ui/main/bookshelf/books/styleFold/BooksAdapterList.kt index 58d988b88..7cc486668 100644 --- a/app/src/main/java/io/legado/app/ui/main/bookshelf/books/styleFold/BooksAdapterList.kt +++ b/app/src/main/java/io/legado/app/ui/main/bookshelf/books/styleFold/BooksAdapterList.kt @@ -113,10 +113,10 @@ class BooksAdapterList(context: Context, callBack: CallBack) : fun registerListener(item: Any) { binding.cvContent.setOnClickListener { - callBack.onItemClick(item, binding.cdCover) + callBack.onItemClick(item, binding.cvContent) } binding.cvContent.onLongClick { - callBack.onItemLongClick(item, binding.cdCover) + callBack.onItemLongClick(item, binding.cvContent) } } diff --git a/app/src/main/java/io/legado/app/ui/main/bookshelf/books/styleFold/BooksAdapterListCompact.kt b/app/src/main/java/io/legado/app/ui/main/bookshelf/books/styleFold/BooksAdapterListCompact.kt index 998e254dd..f7c247780 100644 --- a/app/src/main/java/io/legado/app/ui/main/bookshelf/books/styleFold/BooksAdapterListCompact.kt +++ b/app/src/main/java/io/legado/app/ui/main/bookshelf/books/styleFold/BooksAdapterListCompact.kt @@ -111,10 +111,10 @@ class BooksAdapterListCompact(context: Context, callBack: CallBack) : fun registerListener(item: Any) { binding.cvContent.setOnClickListener { - callBack.onItemClick(item, binding.cdCover) + callBack.onItemClick(item, binding.cvContent) } binding.cvContent.onLongClick { - callBack.onItemLongClick(item, binding.cdCover) + callBack.onItemLongClick(item, binding.cvContent) } } diff --git a/app/src/main/res/layout/dialog_read_book_style.xml b/app/src/main/res/layout/dialog_read_book_style.xml index 374d79a54..adf38b184 100644 --- a/app/src/main/res/layout/dialog_read_book_style.xml +++ b/app/src/main/res/layout/dialog_read_book_style.xml @@ -170,6 +170,7 @@ android:layout_height="wrap_content" android:layout_marginHorizontal="16dp" android:layout_marginTop="8dp" + android:layout_marginBottom="4dp" android:text="@string/page_anim" android:textStyle="bold" android:textSize="12sp" /> @@ -268,7 +269,6 @@ style="@style/Widget.Material3Expressive.Button.TonalButton" android:checkable="true" android:clickable="true" - android:layout_marginVertical="2dp" app:icon="@drawable/ic_share_layout" app:iconGravity="textStart" app:iconPadding="0dp" @@ -293,7 +293,7 @@ - + android:layout_height="wrap_content" + android:clickable="true" + android:focusable="true" + app:strokeWidth="0dp"> - + android:layout_margin="8dp" + app:strokeWidth="0dp"> - + + + android:layout_marginVertical="4dp" + android:layout_marginHorizontal="12dp" + android:indeterminate="true" + android:visibility="invisible" + android:layout_gravity="top" + app:layout_constraintEnd_toEndOf="@id/iv_cover" + app:layout_constraintStart_toStartOf="@id/iv_cover" + app:layout_constraintTop_toTopOf="@id/iv_cover" /> - + - - - - - - - - - - - - - - - - - - - - + android:includeFontPadding="false" + tools:text="5" + tools:ignore="SmallSp" /> + + + + + + + + + diff --git a/app/src/main/res/layout/item_bookshelf_grid_compact.xml b/app/src/main/res/layout/item_bookshelf_grid_compact.xml index 21507e1ab..1a609a254 100644 --- a/app/src/main/res/layout/item_bookshelf_grid_compact.xml +++ b/app/src/main/res/layout/item_bookshelf_grid_compact.xml @@ -4,89 +4,84 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="wrap_content" - app:cardBackgroundColor="@android:color/transparent" - app:strokeWidth="0dp"> + android:clickable="true" + android:focusable="true" + app:strokeWidth="0dp" + app:cardCornerRadius="8dp" + android:layout_margin="8dp"> - + app:strokeWidth="0dp"> - + + + android:layout_marginVertical="4dp" + android:layout_marginHorizontal="12dp" + android:indeterminate="true" + android:visibility="invisible" + android:layout_gravity="top" + app:layout_constraintEnd_toEndOf="@id/iv_cover" + app:layout_constraintStart_toStartOf="@id/iv_cover" + app:layout_constraintTop_toTopOf="@id/iv_cover" /> - - - - - - - - + + android:includeFontPadding="false" + tools:text="5" + tools:ignore="SmallSp" /> + - + + + + - diff --git a/app/src/main/res/layout/item_bookshelf_list.xml b/app/src/main/res/layout/item_bookshelf_list.xml index 78581d7b7..3be984548 100644 --- a/app/src/main/res/layout/item_bookshelf_list.xml +++ b/app/src/main/res/layout/item_bookshelf_list.xml @@ -15,73 +15,55 @@ android:layout_height="wrap_content" tools:ignore="UnusedAttribute"> + + + + - + app:cardBackgroundColor="?attr/colorSecondaryVariant" + app:layout_constraintTop_toTopOf="@id/iv_cover" + app:layout_constraintEnd_toEndOf="@id/iv_cover"> - + - - - - - - - - - + + + + - + app:cardBackgroundColor="?attr/colorSecondaryVariant" + app:layout_constraintTop_toTopOf="@id/iv_cover" + app:layout_constraintEnd_toEndOf="@id/iv_cover"> - + - - - - - - - - - +