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(); } });