更新搜索界面
This commit is contained in:
@@ -18,6 +18,7 @@ import androidx.lifecycle.repeatOnLifecycle
|
||||
import androidx.recyclerview.widget.DefaultItemAnimator
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import androidx.transition.TransitionManager
|
||||
import com.google.android.flexbox.FlexboxLayoutManager
|
||||
import com.google.android.material.search.SearchBar
|
||||
import com.google.android.material.search.SearchView
|
||||
@@ -181,24 +182,9 @@ class SearchActivity : VMBaseActivity<ActivityBookSearchBinding, SearchViewModel
|
||||
|
||||
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 ->
|
||||
onCompatOptionsItemSelected(item)
|
||||
@@ -450,7 +436,8 @@ class SearchActivity : VMBaseActivity<ActivityBookSearchBinding, SearchViewModel
|
||||
* 搜索结束
|
||||
*/
|
||||
private fun searchFinally() {
|
||||
binding.refreshProgressBar.invisible()
|
||||
TransitionManager.beginDelayedTransition(binding.root)
|
||||
binding.refreshProgressBar.gone()
|
||||
binding.cdProgress.gone()
|
||||
if (!isManualStopSearch && viewModel.hasMore) {
|
||||
binding.fbStartStop.setImageResource(R.drawable.ic_play)
|
||||
|
||||
@@ -14,17 +14,15 @@
|
||||
android:id="@+id/app_bar"
|
||||
android:layout_width="match_parent"
|
||||
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
|
||||
android:id="@+id/search_bar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:hint="@string/search_book_key"
|
||||
app:layout_scrollFlags="scroll|enterAlways"
|
||||
app:menu="@menu/book_search"
|
||||
app:navigationIcon="@drawable/ic_arrow_back"
|
||||
app:navigationIconTint="?attr/colorOnSurface" />
|
||||
@@ -47,7 +45,7 @@
|
||||
android:layout_marginHorizontal="16dp"
|
||||
android:layout_marginVertical="4dp"
|
||||
android:scaleType="centerCrop"
|
||||
android:visibility="gone"
|
||||
android:visibility="invisible"
|
||||
app:cardBackgroundColor="?attr/colorTertiaryContainer"
|
||||
app:cardCornerRadius="4dp"
|
||||
app:strokeWidth="0dp">
|
||||
@@ -77,20 +75,13 @@
|
||||
android:orientation="vertical"
|
||||
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_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
|
||||
android:id="@+id/ll_stop"
|
||||
|
||||
Reference in New Issue
Block a user