HapeLee 1 год назад
Родитель
Сommit
da30350ffa

+ 3 - 1
app/src/main/java/io/legato/kazusa/ui/main/explore/ExploreAdapter.kt

@@ -67,7 +67,7 @@ class ExploreAdapter(
             if (isExpanded) {
                 ivStatus.icon = ContextCompat.getDrawable(context, R.drawable.ic_arrow_right)
                 ivStatus.rotation = 90f
-
+                rotateLoading.visible()
                 if (scrollToId == item.bookSourceUrl) {
                     val pos = holder.bindingAdapterPosition
                     if (pos >= 0) callBack.scrollTo(pos)
@@ -78,6 +78,8 @@ class ExploreAdapter(
                     item.exploreKinds()
                 }.onSuccess { kindList ->
                     upKindList(flexbox, item.bookSourceUrl, kindList)
+                }.onFinally {
+                    rotateLoading.gone()
                 }
             } else {
                 ivStatus.icon = ContextCompat.getDrawable(context, R.drawable.ic_arrow_right)

+ 22 - 6
app/src/main/res/layout/item_find_book.xml

@@ -14,7 +14,7 @@
     android:animateLayoutChanges="true"
     android:background="?attr/selectableItemBackground">
 
-    <LinearLayout
+    <androidx.constraintlayout.widget.ConstraintLayout
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:orientation="horizontal"
@@ -25,19 +25,35 @@
             android:id="@+id/tv_name"
             android:layout_width="0dp"
             android:layout_height="wrap_content"
-            android:layout_weight="1"
             android:textAppearance="@style/TextAppearance.Material3.TitleMedium"
-            tools:text="起点中文" />
-
+            tools:text="起点中文"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toStartOf="@id/iv_status"/>
 
         <com.google.android.material.button.MaterialButton
             android:id="@+id/iv_status"
             style="@style/Widget.Material3Expressive.Button.IconButton.Tonal"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            app:icon="@drawable/ic_arrow_right"/>
+            app:icon="@drawable/ic_arrow_right"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintBottom_toBottomOf="parent"/>
+
+        <com.google.android.material.loadingindicator.LoadingIndicator
+            android:id="@+id/rotate_loading"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            app:indicatorSize="24dp"
+            android:visibility="gone"
+            app:layout_constraintTop_toTopOf="@id/iv_status"
+            app:layout_constraintBottom_toBottomOf="@id/iv_status"
+            app:layout_constraintStart_toStartOf="@id/iv_status"
+            app:layout_constraintEnd_toEndOf="@id/iv_status"/>
 
-    </LinearLayout>
+    </androidx.constraintlayout.widget.ConstraintLayout>
 
     <com.google.android.flexbox.FlexboxLayout
         android:id="@+id/flexbox"