Exemplo n.º 1
0
  private void applyPosY(
      final int currentY,
      final boolean needCloseMenu,
      boolean needMapAdjust,
      final int previousMenuState,
      final int newMenuState) {
    final int posY = getPosY(needCloseMenu);
    if (currentY != posY) {
      if (posY < currentY) {
        updateMainViewLayout(posY);
      }

      if (!oldAndroid()) {
        mainView
            .animate()
            .y(posY)
            .setDuration(200)
            .setInterpolator(new DecelerateInterpolator())
            .setListener(
                new AnimatorListenerAdapter() {

                  boolean canceled = false;

                  @Override
                  public void onAnimationCancel(Animator animation) {
                    canceled = true;
                  }

                  @Override
                  public void onAnimationEnd(Animator animation) {
                    if (!canceled) {
                      if (needCloseMenu) {
                        menu.close();
                      } else {
                        updateMainViewLayout(posY);
                        if (previousMenuState != 0
                            && newMenuState != 0
                            && previousMenuState != newMenuState) {
                          doAfterMenuStateChange(previousMenuState, newMenuState);
                        }
                      }
                    }
                  }
                })
            .start();

        /*
        fabView.animate().y(getFabY(posY))
        		.setDuration(200)
        		.setInterpolator(new DecelerateInterpolator())
        		.start();
        */

        if (needMapAdjust) {
          adjustMapPosition(posY, true, centered);
        }
      } else {
        setViewY(posY, false, needMapAdjust);
        if (needCloseMenu) {
          menu.close();
        } else {
          updateMainViewLayout(posY);
          if (previousMenuState != 0 && newMenuState != 0 && previousMenuState != newMenuState) {
            doAfterMenuStateChange(previousMenuState, newMenuState);
          }
        }
      }
    }
  }