diff --git a/lib/java/com/google/android/material/slider/BaseSlider.java b/lib/java/com/google/android/material/slider/BaseSlider.java index 20b9d2733e5..a3c6a70defc 100644 --- a/lib/java/com/google/android/material/slider/BaseSlider.java +++ b/lib/java/com/google/android/material/slider/BaseSlider.java @@ -3580,7 +3580,19 @@ private void calculateLabelBounds(TooltipDrawable label, float value) { int right; int bottom; int top; - if (isVertical() && !isRtl()) { + + final boolean isVertical = isVertical(); + final boolean isRtl = isRtl(); + + if (isVertical && isRtl) { + left = + trackSidePadding + + (int) (normalizeValue(value) * trackWidth) + - label.getIntrinsicHeight() / 2; + right = left + label.getIntrinsicHeight(); + bottom = calculateTrackCenter() - (labelPadding + thumbHeight / 2); + top = bottom - label.getIntrinsicWidth(); + } else if (isVertical) { left = trackSidePadding + (int) (normalizeValue(value) * trackWidth)