From 7b4ece366e963fcb97c1054b577c1b28878b19b6 Mon Sep 17 00:00:00 2001 From: LoveSy Date: Tue, 23 Nov 2021 22:49:29 +0800 Subject: [PATCH] [app] Show fab when switching page (#1434) --- .../manager/ui/fragment/ModulesFragment.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/app/src/main/java/org/lsposed/manager/ui/fragment/ModulesFragment.java b/app/src/main/java/org/lsposed/manager/ui/fragment/ModulesFragment.java index dcdc7c67..5719ce5f 100644 --- a/app/src/main/java/org/lsposed/manager/ui/fragment/ModulesFragment.java +++ b/app/src/main/java/org/lsposed/manager/ui/fragment/ModulesFragment.java @@ -52,6 +52,7 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.widget.SearchView; import androidx.constraintlayout.widget.ConstraintLayout; +import androidx.coordinatorlayout.widget.CoordinatorLayout; import androidx.core.content.ContextCompat; import androidx.fragment.app.Fragment; import androidx.recyclerview.widget.LinearLayoutManager; @@ -61,7 +62,9 @@ import androidx.viewpager2.widget.ViewPager2; import com.bumptech.glide.request.target.CustomTarget; import com.bumptech.glide.request.transition.Transition; +import com.google.android.material.behavior.HideBottomViewOnScrollBehavior; import com.google.android.material.checkbox.MaterialCheckBox; +import com.google.android.material.floatingactionbutton.FloatingActionButton; import com.google.android.material.snackbar.Snackbar; import com.google.android.material.tabs.TabLayout; import com.google.android.material.tabs.TabLayoutMediator; @@ -139,6 +142,18 @@ public class ModulesFragment extends BaseFragment implements ModuleUtil.ModuleLi } } + private void showFab() { + var layoutParams = binding.fab.getLayoutParams(); + if (layoutParams instanceof CoordinatorLayout.LayoutParams) { + var coordinatorLayoutBehavior = + ((CoordinatorLayout.LayoutParams) layoutParams).getBehavior(); + if (coordinatorLayoutBehavior instanceof HideBottomViewOnScrollBehavior) { + //noinspection unchecked + ((HideBottomViewOnScrollBehavior) coordinatorLayoutBehavior).slideUp(binding.fab); + } + } + } + private void updateProgress() { if (binding != null) { var position = binding.viewPager.getCurrentItem(); @@ -162,6 +177,7 @@ public class ModulesFragment extends BaseFragment implements ModuleUtil.ModuleLi @Override public void onPageSelected(int position) { updateProgress(); + showFab(); } });