Skip to content

Commit 7fb98b3

Browse files
author
Fabrice Di Meglio
committed
Fix bug #7158772 ProgressBar / SeekBar / RatingBar drawables should be reversed when in RTL mode
Change-Id: I0a9cfbc6aa6919da3198a20aae6159bd867afe87
1 parent 4e7b551 commit 7fb98b3

File tree

5 files changed

+12
-10
lines changed

5 files changed

+12
-10
lines changed

core/java/android/widget/ProgressBar.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -354,7 +354,7 @@ private Drawable tileify(Drawable drawable, boolean clip) {
354354
Shader.TileMode.REPEAT, Shader.TileMode.CLAMP);
355355
shapeDrawable.getPaint().setShader(bitmapShader);
356356

357-
return (clip) ? new ClipDrawable(shapeDrawable, Gravity.START,
357+
return (clip) ? new ClipDrawable(shapeDrawable, Gravity.LEFT,
358358
ClipDrawable.HORIZONTAL) : shapeDrawable;
359359
}
360360

@@ -1037,6 +1037,11 @@ private void updateDrawableBounds(int w, int h) {
10371037
}
10381038
}
10391039
}
1040+
if (isLayoutRtl()) {
1041+
int tempLeft = left;
1042+
left = w - right;
1043+
right = w - tempLeft;
1044+
}
10401045
mIndeterminateDrawable.setBounds(left, top, right, bottom);
10411046
}
10421047

@@ -1054,7 +1059,12 @@ protected synchronized void onDraw(Canvas canvas) {
10541059
// Translate canvas so a indeterminate circular progress bar with padding
10551060
// rotates properly in its animation
10561061
canvas.save();
1057-
canvas.translate(mPaddingLeft, mPaddingTop);
1062+
if(isLayoutRtl()) {
1063+
canvas.translate(getWidth() - mPaddingRight, mPaddingTop);
1064+
canvas.scale(-1.0f, 1.0f);
1065+
} else {
1066+
canvas.translate(mPaddingLeft, mPaddingTop);
1067+
}
10581068
long time = getDrawingTime();
10591069
if (mHasAnimation) {
10601070
mAnimation.getTransformation(time, mTransformation);

core/res/res/drawable/progress_horizontal_holo_dark.xml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,11 @@
2121

2222
<item android:id="@android:id/secondaryProgress">
2323
<scale android:scaleWidth="100%"
24-
android:scaleGravity="start"
2524
android:drawable="@android:drawable/progress_secondary_holo_dark" />
2625
</item>
2726

2827
<item android:id="@android:id/progress">
2928
<scale android:scaleWidth="100%"
30-
android:scaleGravity="start"
3129
android:drawable="@android:drawable/progress_primary_holo_dark" />
3230
</item>
3331

core/res/res/drawable/progress_horizontal_holo_light.xml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,11 @@
2121

2222
<item android:id="@android:id/secondaryProgress">
2323
<scale android:scaleWidth="100%"
24-
android:scaleGravity="start"
2524
android:drawable="@android:drawable/progress_secondary_holo_light" />
2625
</item>
2726

2827
<item android:id="@android:id/progress">
2928
<scale android:scaleWidth="100%"
30-
android:scaleGravity="start"
3129
android:drawable="@android:drawable/progress_primary_holo_light" />
3230
</item>
3331

core/res/res/drawable/scrubber_progress_horizontal_holo_dark.xml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,10 @@
1919
android:drawable="@android:drawable/scrubber_track_holo_dark" />
2020
<item android:id="@android:id/secondaryProgress">
2121
<scale android:scaleWidth="100%"
22-
android:scaleGravity="start"
2322
android:drawable="@android:drawable/scrubber_secondary_holo" />
2423
</item>
2524
<item android:id="@android:id/progress">
2625
<scale android:scaleWidth="100%"
27-
android:scaleGravity="start"
2826
android:drawable="@android:drawable/scrubber_primary_holo" />
2927
</item>
3028
</layer-list>

core/res/res/drawable/scrubber_progress_horizontal_holo_light.xml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,10 @@
1919
android:drawable="@android:drawable/scrubber_track_holo_light" />
2020
<item android:id="@android:id/secondaryProgress">
2121
<scale android:scaleWidth="100%"
22-
android:scaleGravity="start"
2322
android:drawable="@android:drawable/scrubber_secondary_holo" />
2423
</item>
2524
<item android:id="@android:id/progress">
2625
<scale android:scaleWidth="100%"
27-
android:scaleGravity="start"
2826
android:drawable="@android:drawable/scrubber_primary_holo" />
2927
</item>
3028
</layer-list>

0 commit comments

Comments
 (0)