HapeLee 1 жил өмнө
parent
commit
090b380d2e

+ 3 - 3
app/src/main/java/io/legato/kazusa/ui/main/bookshelf/books/styleDefalut/BooksAdapterGrid.kt

@@ -23,7 +23,7 @@ class BooksAdapterGrid(context: Context, private val callBack: CallBack) :
         item: Book,
         payloads: MutableList<Any>
     ) = binding.run {
-        binding.ivCover.transitionName = "book_${item.bookUrl}"
+        binding.cdCover.transitionName = "book_${item.bookUrl}"
         if (payloads.isEmpty()) {
             tvName.text = item.name
             ivCover.load(item.getDisplayCover(), item.name, item.author, false, item.origin)
@@ -66,13 +66,13 @@ class BooksAdapterGrid(context: Context, private val callBack: CallBack) :
 
         binding.cvContent.setOnClickListener {
             getItem(holder.layoutPosition)?.let {
-                callBack.open(it, binding.ivCover)
+                callBack.open(it, binding.cdCover)
             }
         }
 
         binding.cvContent.setOnLongClickListener {
             getItem(holder.layoutPosition)?.let {
-                callBack.openBookInfo(it, binding.ivCover)
+                callBack.openBookInfo(it, binding.cdCover)
             }
             true
         }

+ 3 - 3
app/src/main/java/io/legato/kazusa/ui/main/bookshelf/books/styleDefalut/BooksAdapterGridCompact.kt

@@ -23,7 +23,7 @@ class BooksAdapterGridCompact(context: Context, private val callBack: CallBack)
         item: Book,
         payloads: MutableList<Any>
     ) = binding.run {
-        binding.ivCover.transitionName = "book_${item.bookUrl}"
+        binding.cvContent.transitionName = "book_${item.bookUrl}"
         if (payloads.isEmpty()) {
             tvName.text = item.name
             ivCover.load(item.getDisplayCover(), item.name, item.author, false, item.origin)
@@ -76,13 +76,13 @@ class BooksAdapterGridCompact(context: Context, private val callBack: CallBack)
 
         binding.cvContent.setOnClickListener {
             getItem(holder.layoutPosition)?.let {
-                callBack.open(it, binding.ivCover)
+                callBack.open(it, binding.cvContent)
             }
         }
 
         binding.cvContent.setOnLongClickListener {
             getItem(holder.layoutPosition)?.let {
-                callBack.openBookInfo(it, binding.ivCover)
+                callBack.openBookInfo(it, binding.cvContent)
             }
             true
         }

+ 3 - 3
app/src/main/java/io/legato/kazusa/ui/main/bookshelf/books/styleDefalut/BooksAdapterGridCover.kt

@@ -24,7 +24,7 @@ class BooksAdapterGridCover(context: Context, private val callBack: CallBack) :
         item: Book,
         payloads: MutableList<Any>
     ) = binding.run {
-        binding.ivCover.transitionName = "book_${item.bookUrl}"
+        binding.cvContent.transitionName = "book_${item.bookUrl}"
         if (payloads.isEmpty()) {
             tvName.gone()
             ivCover.load(item.getDisplayCover(), item.name, item.author, false, item.origin)
@@ -77,13 +77,13 @@ class BooksAdapterGridCover(context: Context, private val callBack: CallBack) :
 
         binding.cvContent.setOnClickListener {
             getItem(holder.layoutPosition)?.let {
-                callBack.open(it, binding.ivCover)
+                callBack.open(it, binding.cvContent)
             }
         }
 
         binding.cvContent.setOnLongClickListener {
             getItem(holder.layoutPosition)?.let {
-                callBack.openBookInfo(it, binding.ivCover)
+                callBack.openBookInfo(it, binding.cvContent)
             }
             true
         }

+ 2 - 2
app/src/main/java/io/legato/kazusa/ui/main/bookshelf/books/styleFold/BooksAdapterGrid.kt

@@ -149,10 +149,10 @@ class BooksAdapterGrid(context: Context, callBack: CallBack) :
 
         fun registerListener(item: Any) {
             binding.cvContent.setOnClickListener {
-                callBack.onItemClick(item, binding.ivCover)
+                callBack.onItemClick(item, binding.cdCover)
             }
             binding.cvContent.onLongClick {
-                callBack.onItemLongClick(item, binding.ivCover)
+                callBack.onItemLongClick(item, binding.cdCover)
             }
         }
 

+ 4 - 4
app/src/main/java/io/legato/kazusa/ui/main/bookshelf/books/styleFold/BooksAdapterGridCompact.kt

@@ -99,10 +99,10 @@ class BooksAdapterGridCompact(context: Context, callBack: CallBack) :
 
         fun registerListener(item: Any) {
             binding.cvContent.setOnClickListener {
-                callBack.onItemClick(item, binding.ivCover)
+                callBack.onItemClick(item, binding.cvContent)
             }
             binding.cvContent.onLongClick {
-                callBack.onItemLongClick(item, binding.ivCover)
+                callBack.onItemLongClick(item, binding.cvContent)
             }
         }
 
@@ -156,10 +156,10 @@ class BooksAdapterGridCompact(context: Context, callBack: CallBack) :
 
         fun registerListener(item: Any) {
             binding.cvContent.setOnClickListener {
-                callBack.onItemClick(item, binding.ivCover)
+                callBack.onItemClick(item, binding.cvContent)
             }
             binding.cvContent.onLongClick {
-                callBack.onItemLongClick(item, binding.ivCover)
+                callBack.onItemLongClick(item, binding.cvContent)
             }
         }
 

+ 4 - 4
app/src/main/java/io/legato/kazusa/ui/main/bookshelf/books/styleFold/BooksAdapterGridCover.kt

@@ -99,10 +99,10 @@ class BooksAdapterGridCover(context: Context, callBack: CallBack) :
 
         fun registerListener(item: Any) {
             binding.cvContent.setOnClickListener {
-                callBack.onItemClick(item, binding.ivCover)
+                callBack.onItemClick(item, binding.cvContent)
             }
             binding.cvContent.onLongClick {
-                callBack.onItemLongClick(item, binding.ivCover)
+                callBack.onItemLongClick(item, binding.cvContent)
             }
         }
 
@@ -156,10 +156,10 @@ class BooksAdapterGridCover(context: Context, callBack: CallBack) :
 
         fun registerListener(item: Any) {
             binding.cvContent.setOnClickListener {
-                callBack.onItemClick(item, binding.ivCover)
+                callBack.onItemClick(item, binding.cvContent)
             }
             binding.cvContent.onLongClick {
-                callBack.onItemLongClick(item, binding.ivCover)
+                callBack.onItemLongClick(item, binding.cvContent)
             }
         }
 

+ 20 - 12
app/src/main/res/layout/item_bookshelf_grid.xml

@@ -25,19 +25,27 @@
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content">
 
-                <!-- 书封面 -->
-                <io.legato.kazusa.ui.widget.image.CoverImageView
-                    android:id="@+id/iv_cover"
+                <com.google.android.material.card.MaterialCardView
+                    android:id="@+id/cd_cover"
                     android:layout_width="match_parent"
                     android:layout_height="match_parent"
+                    app:cardCornerRadius="8dp"
+                    app:layout_constraintEnd_toEndOf="parent"
                     android:layout_margin="8dp"
-                    android:scaleType="centerCrop"
-                    android:src="@drawable/image_cover_default"
                     android:transitionName="img_cover"
                     app:layout_constraintTop_toTopOf="parent"
                     app:layout_constraintStart_toStartOf="parent"
-                    app:layout_constraintEnd_toEndOf="parent"
-                    tools:ignore="ImageContrastCheck" />
+                    app:strokeWidth="0dp">
+
+                    <io.legato.kazusa.ui.widget.image.CoverImageView
+                        android:id="@+id/iv_cover"
+                        android:layout_width="match_parent"
+                        android:layout_height="match_parent"
+                        android:scaleType="centerCrop"
+                        android:src="@drawable/image_cover_default"
+                        tools:ignore="ImageContrastCheck" />
+                </com.google.android.material.card.MaterialCardView>
+
 
                 <com.google.android.material.progressindicator.LinearProgressIndicator
                     android:id="@+id/rl_loading"
@@ -48,9 +56,9 @@
                     android:indeterminate="true"
                     android:visibility="invisible"
                     android:layout_gravity="top"
-                    app:layout_constraintTop_toTopOf="@id/iv_cover"
-                    app:layout_constraintStart_toStartOf="@id/iv_cover"
-                    app:layout_constraintEnd_toEndOf="@id/iv_cover" />
+                    app:layout_constraintEnd_toEndOf="@id/cd_cover"
+                    app:layout_constraintStart_toStartOf="@id/cd_cover"
+                    app:layout_constraintTop_toTopOf="@id/cd_cover" />
 
                 <com.google.android.material.card.MaterialCardView
                     android:id="@+id/cd_unread"
@@ -61,8 +69,8 @@
                     app:cardCornerRadius="4dp"
                     app:strokeWidth="0dp"
                     app:cardBackgroundColor="?attr/colorSecondaryVariant"
-                    app:layout_constraintTop_toTopOf="@id/iv_cover"
-                    app:layout_constraintEnd_toEndOf="@id/iv_cover">
+                    app:layout_constraintEnd_toEndOf="@id/cd_cover"
+                    app:layout_constraintTop_toTopOf="@id/cd_cover">
 
                     <TextView
                         android:id="@+id/tv_unread"

+ 28 - 19
app/src/main/res/layout/item_bookshelf_grid_group.xml

@@ -25,18 +25,27 @@
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content">
 
-                <io.legato.kazusa.ui.widget.image.CoverImageView
-                    android:id="@+id/iv_cover"
+                <com.google.android.material.card.MaterialCardView
+                    android:id="@+id/cd_cover"
                     android:layout_width="match_parent"
                     android:layout_height="match_parent"
+                    app:cardCornerRadius="8dp"
+                    app:layout_constraintEnd_toEndOf="parent"
                     android:layout_margin="8dp"
-                    android:scaleType="centerCrop"
-                    android:src="?attr/colorSurfaceVariant"
                     android:transitionName="img_cover"
                     app:layout_constraintTop_toTopOf="parent"
                     app:layout_constraintStart_toStartOf="parent"
-                    app:layout_constraintEnd_toEndOf="parent"
-                    tools:ignore="ImageContrastCheck" />
+                    app:strokeWidth="0dp">
+
+                    <io.legato.kazusa.ui.widget.image.CoverImageView
+                        android:id="@+id/iv_cover"
+                        android:layout_width="match_parent"
+                        android:layout_height="match_parent"
+                        android:scaleType="centerCrop"
+                        android:src="?attr/colorSurfaceVariant"
+                        tools:ignore="ImageContrastCheck" />
+                </com.google.android.material.card.MaterialCardView>
+
 
                 <com.google.android.material.progressindicator.LinearProgressIndicator
                     android:id="@+id/rl_loading"
@@ -47,9 +56,9 @@
                     android:indeterminate="true"
                     android:visibility="invisible"
                     android:layout_gravity="top"
-                    app:layout_constraintTop_toTopOf="@id/iv_cover"
-                    app:layout_constraintStart_toStartOf="@id/iv_cover"
-                    app:layout_constraintEnd_toEndOf="@id/iv_cover" />
+                    app:layout_constraintEnd_toEndOf="@id/cd_cover"
+                    app:layout_constraintStart_toStartOf="@id/cd_cover"
+                    app:layout_constraintTop_toTopOf="@id/cd_cover" />
 
                 <com.google.android.material.card.MaterialCardView
                     android:id="@+id/cd_unread"
@@ -60,8 +69,8 @@
                     app:cardCornerRadius="4dp"
                     app:strokeWidth="0dp"
                     app:cardBackgroundColor="?attr/colorSecondaryVariant"
-                    app:layout_constraintTop_toTopOf="@id/iv_cover"
-                    app:layout_constraintEnd_toEndOf="@id/iv_cover">
+                    app:layout_constraintEnd_toEndOf="@id/cd_cover"
+                    app:layout_constraintTop_toTopOf="@id/cd_cover">
 
                     <TextView
                         android:id="@+id/tv_unread"
@@ -85,8 +94,8 @@
                     android:layout_marginBottom="2dp"
                     android:layout_marginStart="4dp"
                     android:layout_marginEnd="2dp"
-                    app:layout_constraintTop_toTopOf="@id/iv_cover"
-                    app:layout_constraintStart_toStartOf="@id/iv_cover"
+                    app:layout_constraintStart_toStartOf="@id/cd_cover"
+                    app:layout_constraintTop_toTopOf="@id/cd_cover"
                     app:layout_constraintEnd_toStartOf="@id/iv_cover2"
                     app:layout_constraintBottom_toTopOf="@id/iv_cover3"/>
 
@@ -98,8 +107,8 @@
                     android:layout_marginBottom="2dp"
                     android:layout_marginEnd="4dp"
                     android:layout_marginStart="2dp"
-                    app:layout_constraintTop_toTopOf="@id/iv_cover"
-                    app:layout_constraintEnd_toEndOf="@id/iv_cover"
+                    app:layout_constraintEnd_toEndOf="@id/cd_cover"
+                    app:layout_constraintTop_toTopOf="@id/cd_cover"
                     app:layout_constraintStart_toEndOf="@id/iv_cover1"
                     app:layout_constraintBottom_toTopOf="@id/iv_cover4"/>
 
@@ -111,8 +120,8 @@
                     android:layout_marginStart="4dp"
                     android:layout_marginBottom="4dp"
                     android:layout_marginEnd="2dp"
-                    app:layout_constraintStart_toStartOf="@id/iv_cover"
-                    app:layout_constraintBottom_toBottomOf="@id/iv_cover"
+                    app:layout_constraintBottom_toBottomOf="@id/cd_cover"
+                    app:layout_constraintStart_toStartOf="@id/cd_cover"
                     app:layout_constraintTop_toBottomOf="@id/iv_cover1"
                     app:layout_constraintEnd_toStartOf="@id/iv_cover4"/>
 
@@ -124,8 +133,8 @@
                     android:layout_marginEnd="4dp"
                     android:layout_marginBottom="4dp"
                     android:layout_marginStart="2dp"
-                    app:layout_constraintBottom_toBottomOf="@id/iv_cover"
-                    app:layout_constraintEnd_toEndOf="@id/iv_cover"
+                    app:layout_constraintBottom_toBottomOf="@id/cd_cover"
+                    app:layout_constraintEnd_toEndOf="@id/cd_cover"
                     app:layout_constraintTop_toBottomOf="@id/iv_cover2"
                     app:layout_constraintStart_toEndOf="@id/iv_cover3"/>