react-native-navigation的迁移库

BottomTabsAnimator.java 1.5KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package com.reactnativenavigation.anim;
  2. import android.animation.Animator;
  3. import android.animation.AnimatorListenerAdapter;
  4. import android.animation.AnimatorSet;
  5. import com.reactnativenavigation.parse.AnimationsOptions;
  6. import com.reactnativenavigation.views.BottomTabs;
  7. public class BottomTabsAnimator {
  8. private BottomTabs bottomTabs;
  9. public BottomTabsAnimator(BottomTabs bottomTabs) {
  10. this.bottomTabs = bottomTabs;
  11. }
  12. public void hide(AnimationsOptions animationsOptions) {
  13. if (animationsOptions.pop.bottomTabs.hasValue()) {
  14. AnimatorSet set = animationsOptions.pop.bottomTabs.getAnimation(bottomTabs);
  15. set.addListener(new AnimatorListenerAdapter() {
  16. @Override
  17. public void onAnimationEnd(Animator animation) {
  18. bottomTabs.hideBottomNavigation(false);
  19. }
  20. });
  21. set.start();
  22. } else {
  23. bottomTabs.hideBottomNavigation();
  24. }
  25. }
  26. public void show(AnimationsOptions animationsOptions) {
  27. if (animationsOptions.push.bottomTabs.hasValue()) {
  28. AnimatorSet set = animationsOptions.push.bottomTabs.getAnimation(bottomTabs);
  29. set.addListener(new AnimatorListenerAdapter() {
  30. @Override
  31. public void onAnimationEnd(Animator animation) {
  32. bottomTabs.restoreBottomNavigation(false);
  33. }
  34. });
  35. set.start();
  36. } else {
  37. bottomTabs.restoreBottomNavigation();
  38. }
  39. }
  40. }