Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/stefan-niedermann/nextcloud-deck.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNeil Seligmann <git@neilseligmann.com>2022-01-06 17:24:04 +0300
committerNiedermann IT-Dienstleistungen <stefan-niedermann@users.noreply.github.com>2022-01-10 11:51:09 +0300
commit1682885a8b411af2c4387996515a3b24b5c934a0 (patch)
tree7816e9f94f2cd4211c5bd01a527f8de9babdf367
parentdfa6f07c1ddab1ad360d898d9dcad94f56186541 (diff)
feat: improved automatic scrolling
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/StackFragment.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/StackFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/StackFragment.java
index bf33bf996..ca9f0f614 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/StackFragment.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/StackFragment.java
@@ -14,6 +14,7 @@ import androidx.fragment.app.FragmentActivity;
import androidx.lifecycle.LiveData;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider;
+import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import java.util.List;
@@ -181,7 +182,14 @@ public class StackFragment extends Fragment implements DragAndDropTab<CardAdapte
*/
public void scrollToBottom() {
activity.runOnUiThread(() -> {
- binding.recyclerView.smoothScrollToPosition(adapter.getItemCount());
+ LinearLayoutManager layoutManager = (LinearLayoutManager) binding.recyclerView.getLayoutManager();
+ int currentItem = layoutManager.findFirstVisibleItemPosition();
+
+ if (adapter.getItemCount() - currentItem < 40) {
+ binding.recyclerView.smoothScrollToPosition(adapter.getItemCount());
+ } else {
+ binding.recyclerView.scrollToPosition(adapter.getItemCount() - 1);
+ }
});
}
} \ No newline at end of file