react-native-navigation的迁移库

FabMenu.java 1.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. package com.reactnativenavigation.views;
  2. import android.content.Context;
  3. import com.github.clans.fab.FloatingActionMenu;
  4. import com.reactnativenavigation.anim.FabAnimator;
  5. import com.reactnativenavigation.anim.FabCollapseBehaviour;
  6. import com.reactnativenavigation.interfaces.ScrollEventListener;
  7. import java.util.HashSet;
  8. public class FabMenu extends FloatingActionMenu implements FabAnimator {
  9. private String id = "";
  10. private HashSet<Fab> actions = new HashSet<>();
  11. private FabCollapseBehaviour collapseBehaviour;
  12. public FabMenu(Context context, String id) {
  13. super(context);
  14. this.id = id;
  15. collapseBehaviour = new FabCollapseBehaviour(this);
  16. onFinishInflate();
  17. setOnMenuButtonClickListener(v -> toggle(true));
  18. }
  19. @Override
  20. public void show() {
  21. showMenu(true);
  22. }
  23. @Override
  24. public void hide() {
  25. hideMenu(true);
  26. }
  27. public void enableCollapse(ScrollEventListener scrollEventListener) {
  28. collapseBehaviour.enableCollapse(scrollEventListener);
  29. }
  30. public void disableCollapse() {
  31. collapseBehaviour.disableCollapse();
  32. }
  33. public HashSet<Fab> getActions() {
  34. return actions;
  35. }
  36. public String getFabId() {
  37. return id;
  38. }
  39. }