Skip to content

Commit 15b533f

Browse files
paulfthomashunterstich
authored andcommitted
[NTC][ProgressIndicator] Update styles
Update the Material ProgressIndicator to be compliant with the latest accessibility requirements. PiperOrigin-RevId: 591927327
1 parent c695802 commit 15b533f

File tree

2 files changed

+46
-9
lines changed

2 files changed

+46
-9
lines changed

lib/java/com/google/android/material/progressindicator/LinearDrawingDelegate.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -176,12 +176,14 @@ private void drawStopIndicator(@NonNull Canvas canvas, @NonNull Paint paint) {
176176
MaterialColors.compositeARGBWithAlpha(spec.indicatorColors[0], drawable.getAlpha());
177177
paint.setColor(indicatorColor);
178178
Rect trackBounds = canvas.getClipBounds();
179+
// Maintain proper ratio when stop is smaller than track height and offset from edges.
180+
float offset = max(0, displayedTrackThickness - spec.trackStopIndicatorSize);
179181
RectF stopBounds =
180182
new RectF(
181-
trackBounds.right - spec.trackStopIndicatorSize,
182-
-displayedTrackThickness / 2,
183-
trackBounds.right,
184-
displayedTrackThickness / 2);
183+
trackBounds.right - displayedTrackThickness + offset / 2,
184+
-(displayedTrackThickness - offset) / 2,
185+
trackBounds.right - offset / 2,
186+
(displayedTrackThickness - offset) / 2);
185187
canvas.drawRoundRect(stopBounds, displayedCornerRadius, displayedCornerRadius, paint);
186188
}
187189

lib/java/com/google/android/material/progressindicator/res/values/styles.xml

Lines changed: 40 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,19 +47,54 @@
4747
<item name="indicatorInset">@dimen/mtrl_progress_circular_inset_extra_small</item>
4848
</style>
4949

50+
<!-- M3 LinearProgressIndicator Legacy style -->
51+
<style name="Widget.Material3.LinearProgressIndicator.Legacy" parent="Widget.MaterialComponents.LinearProgressIndicator">
52+
<item name="trackThickness">@dimen/m3_comp_linear_progress_indicator_active_indicator_height</item>
53+
<item name="trackColor">@macro/m3_comp_linear_progress_indicator_track_color</item>
54+
<item name="indicatorColor">@macro/m3_comp_linear_progress_indicator_active_indicator_color</item>
55+
</style>
56+
57+
<!-- M3 CircularProgressIndicator Legacy styles -->
58+
<style name="Widget.Material3.CircularProgressIndicator.Legacy" parent="Widget.MaterialComponents.CircularProgressIndicator">
59+
<item name="trackThickness">@dimen/m3_comp_circular_progress_indicator_active_indicator_width</item>
60+
<item name="indicatorColor">@macro/m3_comp_circular_progress_indicator_active_indicator_color</item>
61+
</style>
62+
<style name="Widget.Material3.CircularProgressIndicator.Legacy.Medium" parent="Widget.MaterialComponents.CircularProgressIndicator.Medium"/>
63+
<style name="Widget.Material3.CircularProgressIndicator.Legacy.Small" parent="Widget.MaterialComponents.CircularProgressIndicator.Small"/>
64+
<style name="Widget.Material3.CircularProgressIndicator.Legacy.ExtraSmall" parent="Widget.MaterialComponents.CircularProgressIndicator.ExtraSmall"/>
65+
5066
<!-- M3 LinearProgressIndicator style -->
5167
<style name="Widget.Material3.LinearProgressIndicator" parent="Widget.MaterialComponents.LinearProgressIndicator">
5268
<item name="trackThickness">@dimen/m3_comp_linear_progress_indicator_active_indicator_height</item>
53-
<item name="trackColor">@macro/m3_comp_linear_progress_indicator_track_color</item>
69+
<item name="trackColor">?attr/colorPrimaryContainer</item>
5470
<item name="indicatorColor">@macro/m3_comp_linear_progress_indicator_active_indicator_color</item>
71+
<item name="trackCornerRadius">2dp</item>
72+
<item name="indicatorTrackGapSize">4dp</item>
73+
<item name="trackStopIndicatorSize">4dp</item>
5574
</style>
5675

57-
<!-- M3 CircularProgressIndicator styles -->
76+
<!-- M3 CircularProgressIndicator style -->
5877
<style name="Widget.Material3.CircularProgressIndicator" parent="Widget.MaterialComponents.CircularProgressIndicator">
5978
<item name="trackThickness">@dimen/m3_comp_circular_progress_indicator_active_indicator_width</item>
6079
<item name="indicatorColor">@macro/m3_comp_circular_progress_indicator_active_indicator_color</item>
80+
<item name="trackColor">?attr/colorPrimaryContainer</item>
81+
<item name="trackCornerRadius">2dp</item>
82+
<item name="indicatorTrackGapSize">4dp</item>
6183
</style>
62-
<style name="Widget.Material3.CircularProgressIndicator.Medium" parent="Widget.MaterialComponents.CircularProgressIndicator.Medium"/>
63-
<style name="Widget.Material3.CircularProgressIndicator.Small" parent="Widget.MaterialComponents.CircularProgressIndicator.Small"/>
64-
<style name="Widget.Material3.CircularProgressIndicator.ExtraSmall" parent="Widget.MaterialComponents.CircularProgressIndicator.ExtraSmall"/>
84+
<style name="Widget.Material3.CircularProgressIndicator.Medium"/>
85+
<style name="Widget.Material3.CircularProgressIndicator.Small">
86+
<item name="trackThickness">@dimen/mtrl_progress_circular_track_thickness_small</item>
87+
<item name="indicatorSize">@dimen/mtrl_progress_circular_size_small</item>
88+
<item name="indicatorInset">@dimen/mtrl_progress_circular_inset_small</item>
89+
<item name="trackCornerRadius">1.5dp</item>
90+
<item name="indicatorTrackGapSize">3dp</item>
91+
</style>
92+
<style name="Widget.Material3.CircularProgressIndicator.ExtraSmall">
93+
<item name="trackThickness">@dimen/mtrl_progress_circular_track_thickness_extra_small</item>
94+
<item name="indicatorSize">@dimen/mtrl_progress_circular_size_extra_small</item>
95+
<item name="indicatorInset">@dimen/mtrl_progress_circular_inset_extra_small</item>
96+
<item name="trackCornerRadius">1.25dp</item>
97+
<item name="indicatorTrackGapSize">2dp</item>
98+
</style>
99+
65100
</resources>

0 commit comments

Comments
 (0)