From 01e890e9e6b7e6c317aa40f21da97ece307db5a6 Mon Sep 17 00:00:00 2001 From: "anthony.shim" Date: Thu, 30 Jun 2022 08:29:44 +0900 Subject: [PATCH 1/2] fix: last item not visible bug --- .../loopinglayout/library/LoopingLayoutManager.kt | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/library/src/main/java/com/bekawestberg/loopinglayout/library/LoopingLayoutManager.kt b/library/src/main/java/com/bekawestberg/loopinglayout/library/LoopingLayoutManager.kt index 88ea1e1..5744dde 100644 --- a/library/src/main/java/com/bekawestberg/loopinglayout/library/LoopingLayoutManager.kt +++ b/library/src/main/java/com/bekawestberg/loopinglayout/library/LoopingLayoutManager.kt @@ -213,6 +213,13 @@ class LoopingLayoutManager : LayoutManager, RecyclerView.SmoothScroller.ScrollVe layoutRect.right, layoutRect.bottom) index = stepIndex(index, movementDir, state, false) + if (sizeFilled == 0) { + sizeFilled = if (orientation == HORIZONTAL) { + layoutRect.left + } else { + layoutRect.top + } + } sizeFilled += item.size prevItem = item } From 02a2d0341ed356f759974ff3f0ccb9cb042018da Mon Sep 17 00:00:00 2001 From: "imjmo@hanmail.net" Date: Thu, 7 Jul 2022 08:35:58 +0900 Subject: [PATCH 2/2] =?UTF-8?q?rtl,=20reverseLayout=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../library/LoopingLayoutManager.kt | 30 +++++++++++++++++-- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/library/src/main/java/com/bekawestberg/loopinglayout/library/LoopingLayoutManager.kt b/library/src/main/java/com/bekawestberg/loopinglayout/library/LoopingLayoutManager.kt index 5744dde..b835dfa 100644 --- a/library/src/main/java/com/bekawestberg/loopinglayout/library/LoopingLayoutManager.kt +++ b/library/src/main/java/com/bekawestberg/loopinglayout/library/LoopingLayoutManager.kt @@ -214,10 +214,34 @@ class LoopingLayoutManager : LayoutManager, RecyclerView.SmoothScroller.ScrollVe index = stepIndex(index, movementDir, state, false) if (sizeFilled == 0) { - sizeFilled = if (orientation == HORIZONTAL) { - layoutRect.left + sizeFilled = if (reverseLayout) { + if (isLayoutRTL) { + if (orientation == HORIZONTAL) { + layoutRect.left + } else { + layoutHeight - layoutRect.bottom + } + } else { + if (orientation == HORIZONTAL) { + layoutWidth - layoutRect.right + } else { + layoutHeight - layoutRect.bottom + } + } } else { - layoutRect.top + if (isLayoutRTL) { + if (orientation == HORIZONTAL) { + layoutWidth - layoutRect.right + } else { + layoutRect.top + } + } else { + if (orientation == HORIZONTAL) { + layoutRect.left + } else { + layoutRect.top + } + } } } sizeFilled += item.size