differenceTranslationX = getX(viewOrigin); differenceTranslationY = getY(viewOrigin); translationX = activityView.getWidth() / 2 - popupView.getWidth() / 2; translationY = activityView.getHeight() / 2 - popupView.getHeight() / 2; } else { differenceTranslationX = getX(viewOrigin) - getX(popupView); differenceTranslationY = getY(viewOrigin) - getY(popupView); translationX = getX(viewOrigin) - (popupView.getWidth() - viewOrigin.getWidth()) / 2f; translationY = getY(viewOrigin) - getStatusBarHeight();