瀏覽代碼

更新搜索界面

HapeLee 1 年之前
父節點
當前提交
b8082b5335

+ 6 - 19
app/src/main/java/io/legato/kazusa/ui/book/search/SearchActivity.kt

@@ -18,6 +18,7 @@ import androidx.lifecycle.repeatOnLifecycle
 import androidx.recyclerview.widget.DefaultItemAnimator
 import androidx.recyclerview.widget.DefaultItemAnimator
 import androidx.recyclerview.widget.LinearLayoutManager
 import androidx.recyclerview.widget.LinearLayoutManager
 import androidx.recyclerview.widget.RecyclerView
 import androidx.recyclerview.widget.RecyclerView
+import androidx.transition.TransitionManager
 import com.google.android.flexbox.FlexboxLayoutManager
 import com.google.android.flexbox.FlexboxLayoutManager
 import com.google.android.material.search.SearchBar
 import com.google.android.material.search.SearchBar
 import com.google.android.material.search.SearchView
 import com.google.android.material.search.SearchView
@@ -181,24 +182,9 @@ class SearchActivity : VMBaseActivity<ActivityBookSearchBinding, SearchViewModel
 
 
     private fun initMaterialSearch() {
     private fun initMaterialSearch() {
 
 
-        binding.appBar.applyStatusBarPadding()
-
-        binding.appBar.post {
-            val maxPaddingTop = binding.appBar.paddingTop
-            binding.appBar.addOnOffsetChangedListener { appBarLayout, verticalOffset ->
-                val totalScrollRange = appBarLayout.totalScrollRange
-                val scrollRatio =
-                    (1f - (abs(verticalOffset).toFloat() / totalScrollRange)).coerceIn(0f, 1f)
-
-                appBarLayout.alpha = scrollRatio
-                appBarLayout.setPadding(
-                    appBarLayout.paddingLeft,
-                    (maxPaddingTop * scrollRatio).toInt(),
-                    appBarLayout.paddingRight,
-                    appBarLayout.paddingBottom
-                )
-            }
-        }
+
+
+
 
 
         searchBar.setOnMenuItemClickListener { item ->
         searchBar.setOnMenuItemClickListener { item ->
             onCompatOptionsItemSelected(item)
             onCompatOptionsItemSelected(item)
@@ -450,7 +436,8 @@ class SearchActivity : VMBaseActivity<ActivityBookSearchBinding, SearchViewModel
      * 搜索结束
      * 搜索结束
      */
      */
     private fun searchFinally() {
     private fun searchFinally() {
-        binding.refreshProgressBar.invisible()
+        TransitionManager.beginDelayedTransition(binding.root)
+        binding.refreshProgressBar.gone()
         binding.cdProgress.gone()
         binding.cdProgress.gone()
         if (!isManualStopSearch && viewModel.hasMore) {
         if (!isManualStopSearch && viewModel.hasMore) {
             binding.fbStartStop.setImageResource(R.drawable.ic_play)
             binding.fbStartStop.setImageResource(R.drawable.ic_play)

+ 9 - 18
app/src/main/res/layout/activity_book_search.xml

@@ -14,17 +14,15 @@
             android:id="@+id/app_bar"
             android:id="@+id/app_bar"
             android:layout_width="match_parent"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
-            android:backgroundTint="?attr/colorSurface"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="parent">
+            app:liftOnScroll="false"
+            android:fitsSystemWindows="true"
+            app:statusBarForeground="?attr/colorSurface">
 
 
             <com.google.android.material.search.SearchBar
             <com.google.android.material.search.SearchBar
                 android:id="@+id/search_bar"
                 android:id="@+id/search_bar"
                 android:layout_width="match_parent"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:layout_height="wrap_content"
                 android:hint="@string/search_book_key"
                 android:hint="@string/search_book_key"
-                app:layout_scrollFlags="scroll|enterAlways"
                 app:menu="@menu/book_search"
                 app:menu="@menu/book_search"
                 app:navigationIcon="@drawable/ic_arrow_back"
                 app:navigationIcon="@drawable/ic_arrow_back"
                 app:navigationIconTint="?attr/colorOnSurface" />
                 app:navigationIconTint="?attr/colorOnSurface" />
@@ -47,7 +45,7 @@
                 android:layout_marginHorizontal="16dp"
                 android:layout_marginHorizontal="16dp"
                 android:layout_marginVertical="4dp"
                 android:layout_marginVertical="4dp"
                 android:scaleType="centerCrop"
                 android:scaleType="centerCrop"
-                android:visibility="gone"
+                android:visibility="invisible"
                 app:cardBackgroundColor="?attr/colorTertiaryContainer"
                 app:cardBackgroundColor="?attr/colorTertiaryContainer"
                 app:cardCornerRadius="4dp"
                 app:cardCornerRadius="4dp"
                 app:strokeWidth="0dp">
                 app:strokeWidth="0dp">
@@ -77,20 +75,13 @@
             android:orientation="vertical"
             android:orientation="vertical"
             android:visibility="visible"/>
             android:visibility="visible"/>
 
 
-        <io.legato.kazusa.ui.widget.dynamiclayout.DynamicFrameLayout
-            android:id="@+id/content_view"
+        <androidx.recyclerview.widget.RecyclerView
+            android:id="@+id/recycler_view"
             android:layout_width="match_parent"
             android:layout_width="match_parent"
             android:layout_height="match_parent"
             android:layout_height="match_parent"
-            app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior">
-
-            <androidx.recyclerview.widget.RecyclerView
-                android:id="@+id/recycler_view"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:clipToPadding="false"
-                tools:listitem="@layout/item_search" />
-
-        </io.legato.kazusa.ui.widget.dynamiclayout.DynamicFrameLayout>
+            android:clipToPadding="false"
+            tools:listitem="@layout/item_search"
+            app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior"/>
 
 
         <LinearLayout
         <LinearLayout
             android:id="@+id/ll_stop"
             android:id="@+id/ll_stop"