diff options
author | Álvaro Brey <alvaro.brey@nextcloud.com> | 2022-05-05 16:12:14 +0300 |
---|---|---|
committer | Álvaro Brey <alvaro.brey@nextcloud.com> | 2022-05-05 16:51:58 +0300 |
commit | ea4222a1ae326ec97f6d4162978d0ffa6db1cbc3 (patch) | |
tree | ba970657e4fdb9729310caf5dd19fb58451eb1ef | |
parent | 09b95951c5cee4ebd0d030f9360ba14d2dca93ab (diff) |
FileDisplayActivity: fix appbar for fast scrollnew-fastscroll-lib
Adds padding at the bottom if appbar is not collapsed
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
-rw-r--r-- | app/src/main/java/com/nextcloud/utils/view/FastScroll.kt | 17 | ||||
-rw-r--r-- | app/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.java | 5 |
2 files changed, 21 insertions, 1 deletions
diff --git a/app/src/main/java/com/nextcloud/utils/view/FastScroll.kt b/app/src/main/java/com/nextcloud/utils/view/FastScroll.kt index 1eecdaec16..2d268a5f61 100644 --- a/app/src/main/java/com/nextcloud/utils/view/FastScroll.kt +++ b/app/src/main/java/com/nextcloud/utils/view/FastScroll.kt @@ -27,7 +27,9 @@ package com.nextcloud.utils.view +import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView +import com.google.android.material.appbar.AppBarLayout import me.zhanghai.android.fastscroll.FastScroller import me.zhanghai.android.fastscroll.FastScrollerBuilder @@ -41,4 +43,19 @@ object FastScroll { } builder.build() } + + @JvmStatic + fun fixAppBarForFastScroll(appBarLayout: AppBarLayout, content: ViewGroup) { + val contentLayoutInitialPaddingBottom = content.paddingBottom + appBarLayout.addOnOffsetChangedListener( + AppBarLayout.OnOffsetChangedListener { _, offset -> + content.setPadding( + content.paddingLeft, + content.paddingTop, + content.paddingRight, + contentLayoutInitialPaddingBottom + appBarLayout.totalScrollRange + offset + ) + } + ) + } } diff --git a/app/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.java b/app/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.java index 2913cf2020..0bb1e030b7 100644 --- a/app/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.java +++ b/app/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.java @@ -61,6 +61,7 @@ import com.nextcloud.client.network.ConnectivityService; import com.nextcloud.client.preferences.AppPreferences; import com.nextcloud.client.utils.IntentUtil; import com.nextcloud.java.util.Optional; +import com.nextcloud.utils.view.FastScroll; import com.owncloud.android.MainApp; import com.owncloud.android.R; import com.owncloud.android.databinding.FilesBinding; @@ -137,7 +138,6 @@ import androidx.annotation.NonNull; import androidx.annotation.VisibleForTesting; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.widget.SearchView; -import androidx.coordinatorlayout.widget.CoordinatorLayout; import androidx.core.view.MenuItemCompat; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; @@ -266,6 +266,9 @@ public class FileDisplayActivity extends FileActivity mSwitchAccountButton.setOnClickListener(v -> showManageAccountsDialog()); + FastScroll.fixAppBarForFastScroll(binding.appbar.appbar, binding.rootLayout); + + // Init Fragment without UI to retain AsyncTask across configuration changes FragmentManager fm = getSupportFragmentManager(); TaskRetainerFragment taskRetainerFragment = |