Просмотр исходного кода

[修改] 书籍详情界面书籍标题现在为最大3行,若仍显示不全可长按以完全显示 #408

HapeLee 11 месяцев назад
Родитель
Сommit
e51769a22c

+ 8 - 0
app/src/main/java/io/legado/app/ui/book/info/BookInfoActivity.kt

@@ -16,6 +16,7 @@ import android.graphics.drawable.TransitionDrawable
 import android.net.Uri
 import android.net.Uri
 import android.os.Build
 import android.os.Build
 import android.os.Bundle
 import android.os.Bundle
+import android.text.method.ScrollingMovementMethod
 import android.view.Menu
 import android.view.Menu
 import android.view.MenuItem
 import android.view.MenuItem
 import android.view.View
 import android.view.View
@@ -28,6 +29,7 @@ import androidx.core.content.ContextCompat
 import androidx.core.graphics.scale
 import androidx.core.graphics.scale
 import androidx.core.view.doOnPreDraw
 import androidx.core.view.doOnPreDraw
 import androidx.lifecycle.lifecycleScope
 import androidx.lifecycle.lifecycleScope
+import androidx.transition.TransitionManager
 import com.google.android.material.color.DynamicColors
 import com.google.android.material.color.DynamicColors
 import com.google.android.material.color.DynamicColorsOptions
 import com.google.android.material.color.DynamicColorsOptions
 import com.google.android.material.color.MaterialColors
 import com.google.android.material.color.MaterialColors
@@ -811,6 +813,12 @@ class BookInfoActivity :
                 }
                 }
             }
             }
         }
         }
+        tvName.setOnLongClickListener {
+            TransitionManager.beginDelayedTransition(scrollView)
+            tvName.maxLines = if (tvName.maxLines == 3) 10 else 3
+            true
+        }
+
         refreshLayout.setOnRefreshListener {
         refreshLayout.setOnRefreshListener {
             refreshLayout.isRefreshing = false
             refreshLayout.isRefreshing = false
             refreshBook()
             refreshBook()

+ 6 - 5
app/src/main/res/layout/activity_book_info.xml

@@ -82,9 +82,11 @@
                         android:layout_height="0dp"
                         android:layout_height="0dp"
                         app:cardCornerRadius="8dp"
                         app:cardCornerRadius="8dp"
                         android:layout_marginStart="16dp"
                         android:layout_marginStart="16dp"
+                        android:layout_marginVertical="16dp"
                         app:layout_constraintDimensionRatio="5:7"
                         app:layout_constraintDimensionRatio="5:7"
                         app:layout_constraintStart_toStartOf="parent"
                         app:layout_constraintStart_toStartOf="parent"
                         app:layout_constraintTop_toTopOf="parent"
                         app:layout_constraintTop_toTopOf="parent"
+                        app:layout_constraintBottom_toTopOf="@id/scroll_labels"
                         app:layout_constraintWidth_percent="0.3"
                         app:layout_constraintWidth_percent="0.3"
                         app:strokeWidth="0dp">
                         app:strokeWidth="0dp">
 
 
@@ -101,7 +103,6 @@
                     <LinearLayout
                     <LinearLayout
                         android:layout_width="0dp"
                         android:layout_width="0dp"
                         android:layout_height="wrap_content"
                         android:layout_height="wrap_content"
-                        android:layout_gravity="center"
                         android:orientation="vertical"
                         android:orientation="vertical"
                         android:layout_marginEnd="16dp"
                         android:layout_marginEnd="16dp"
                         android:padding="12dp"
                         android:padding="12dp"
@@ -114,7 +115,9 @@
                             android:id="@+id/tv_name"
                             android:id="@+id/tv_name"
                             android:layout_width="wrap_content"
                             android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
                             android:layout_height="wrap_content"
-                            android:maxLines="2"
+                            android:maxLines="3"
+                            android:ellipsize="end"
+                            android:scrollbars="vertical"
                             android:text="@string/book_name"
                             android:text="@string/book_name"
                             style="@style/TextAppearance.Material3.ActionBar.Title"
                             style="@style/TextAppearance.Material3.ActionBar.Title"
                             tools:ignore="RtlHardcoded" />
                             tools:ignore="RtlHardcoded" />
@@ -186,10 +189,8 @@
                         android:layout_width="match_parent"
                         android:layout_width="match_parent"
                         android:layout_height="wrap_content"
                         android:layout_height="wrap_content"
                         android:layout_marginStart="16dp"
                         android:layout_marginStart="16dp"
-                        android:layout_marginTop="8dp"
                         android:scrollbars="none"
                         android:scrollbars="none"
-                        app:layout_constraintBottom_toBottomOf="parent"
-                        app:layout_constraintTop_toBottomOf="@id/cd_cov">
+                        app:layout_constraintBottom_toBottomOf="parent">
 
 
                         <io.legado.app.ui.widget.LabelsBar
                         <io.legado.app.ui.widget.LabelsBar
                             android:id="@+id/lb_kind"
                             android:id="@+id/lb_kind"