Exemplo n.º 1
0
  private int getPosY(boolean needCloseMenu) {
    if (needCloseMenu) {
      return screenHeight;
    }

    int destinationState;
    int minHalfY;
    if (menu.isExtended()) {
      destinationState = menu.getCurrentMenuState();
      minHalfY = viewHeight - (int) (viewHeight * menu.getHalfScreenMaxHeightKoef());
    } else {
      destinationState = MenuState.HEADER_ONLY;
      minHalfY = viewHeight;
    }

    int posY = 0;
    switch (destinationState) {
      case MenuState.HEADER_ONLY:
        posY = viewHeight - menuTitleHeight;
        break;
      case MenuState.HALF_SCREEN:
        posY = viewHeight - menuFullHeightMax;
        posY = Math.max(posY, minHalfY);
        break;
      case MenuState.FULL_SCREEN:
        posY = -menuTopShadowHeight - dpToPx(SHADOW_HEIGHT_TOP_DP);
        break;
      default:
        break;
    }
    return posY;
  }