From 8ef7ac5a873a2412bc80a8e78dc52ea7f1a7c85b Mon Sep 17 00:00:00 2001 From: FooIbar <118464521+FooIbar@users.noreply.github.com> Date: Wed, 8 Mar 2023 20:38:06 +0800 Subject: [PATCH] Disable SupportsPredictiveItemAnimations in DownloadsScene --- .../main/java/com/hippo/ehviewer/ui/scene/DownloadsScene.kt | 1 + .../widget/recyclerview/AutoStaggeredGridLayoutManager.kt | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadsScene.kt b/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadsScene.kt index 231766606..27246bfcd 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadsScene.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadsScene.kt @@ -245,6 +245,7 @@ class DownloadsScene : BaseToolbarScene(), DownloadInfoListener, OnClickFabListe AutoStaggeredGridLayoutManager(0, StaggeredGridLayoutManager.VERTICAL) layoutManager.setColumnSize(resources.getDimensionPixelOffset(Settings.detailSizeResId)) layoutManager.setStrategy(AutoStaggeredGridLayoutManager.STRATEGY_MIN_SIZE) + layoutManager.supportsPredictiveItemAnimations = false recyclerView.layoutManager = layoutManager recyclerView.clipToPadding = false recyclerView.clipChildren = false diff --git a/app/src/main/java/com/hippo/widget/recyclerview/AutoStaggeredGridLayoutManager.kt b/app/src/main/java/com/hippo/widget/recyclerview/AutoStaggeredGridLayoutManager.kt index 8327bc5c3..3aa93a173 100644 --- a/app/src/main/java/com/hippo/widget/recyclerview/AutoStaggeredGridLayoutManager.kt +++ b/app/src/main/java/com/hippo/widget/recyclerview/AutoStaggeredGridLayoutManager.kt @@ -25,6 +25,7 @@ class AutoStaggeredGridLayoutManager(columnSize: Int, orientation: Int) : private var mColumnSize = -1 private var mColumnSizeChanged = true private var mStrategy = 0 + var supportsPredictiveItemAnimations = true init { setColumnSize(columnSize) @@ -46,6 +47,10 @@ class AutoStaggeredGridLayoutManager(columnSize: Int, orientation: Int) : mColumnSizeChanged = true } + override fun supportsPredictiveItemAnimations(): Boolean { + return supportsPredictiveItemAnimations && super.supportsPredictiveItemAnimations() + } + override fun onMeasure( recycler: RecyclerView.Recycler, state: RecyclerView.State,