Skip to content

Commit 23957e0

Browse files
pubiqqpekingme
authored andcommitted
[Slider] Fix label bounds for vertical slider in RTL
Resolves #4760 Resolves #4759 GIT_ORIGIN_REV_ID=b7ca68735a77733f621c8be87b8e5e85a57ab325 PiperOrigin-RevId: 755915079
1 parent aaa40db commit 23957e0

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

lib/java/com/google/android/material/slider/BaseSlider.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3580,14 +3580,20 @@ private void calculateLabelBounds(TooltipDrawable label, float value) {
35803580
int right;
35813581
int bottom;
35823582
int top;
3583-
if (isVertical() && !isRtl()) {
3583+
3584+
if (isVertical()) {
35843585
left =
35853586
trackSidePadding
35863587
+ (int) (normalizeValue(value) * trackWidth)
35873588
- label.getIntrinsicHeight() / 2;
35883589
right = left + label.getIntrinsicHeight();
3589-
top = calculateTrackCenter() + (labelPadding + thumbHeight / 2);
3590-
bottom = top + label.getIntrinsicWidth();
3590+
if (isRtl()) {
3591+
bottom = calculateTrackCenter() - (labelPadding + thumbHeight / 2);
3592+
top = bottom - label.getIntrinsicWidth();
3593+
} else {
3594+
top = calculateTrackCenter() + (labelPadding + thumbHeight / 2);
3595+
bottom = top + label.getIntrinsicWidth();
3596+
}
35913597
} else {
35923598
left =
35933599
trackSidePadding

0 commit comments

Comments
 (0)