Skip to content

Commit

Permalink
[Slider] Updates tick marks color to fix the contrast in medium / hig…
Browse files Browse the repository at this point in the history
…h contrast modes.

Resolves #4204

PiperOrigin-RevId: 652895433
  • Loading branch information
pekingme authored and paulfthomas committed Jul 22, 2024
1 parent b9a2ce9 commit 968a7ee
Show file tree
Hide file tree
Showing 4 changed files with 47 additions and 4 deletions.
3 changes: 1 addition & 2 deletions lib/java/com/google/android/material/slider/BaseSlider.java
Original file line number Diff line number Diff line change
Expand Up @@ -1750,7 +1750,6 @@ public void setTrackActiveTintList(@NonNull ColorStateList trackColor) {
}
trackColorActive = trackColor;
activeTrackPaint.setColor(getColorForState(trackColorActive));
stopIndicatorPaint.setColor(getColorForState(trackColorActive));
invalidate();
}

Expand Down Expand Up @@ -2838,7 +2837,7 @@ protected void drawableStateChanged() {
activeTrackPaint.setColor(getColorForState(trackColorActive));
inactiveTicksPaint.setColor(getColorForState(tickColorInactive));
activeTicksPaint.setColor(getColorForState(tickColorActive));
stopIndicatorPaint.setColor(getColorForState(trackColorActive));
stopIndicatorPaint.setColor(getColorForState(tickColorInactive));
for (TooltipDrawable label : labels) {
if (label.isStateful()) {
label.setState(getDrawableState());
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Copyright (C) 2021 The Android Open Source Project
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="?attr/colorOnPrimary" android:state_enabled="true"/>
<!-- When disabled, the tick marks over active track should be the same color as the inactive track. -->
<item android:alpha="@dimen/m3_comp_slider_disabled_inactive_track_opacity"
android:color="@macro/m3_comp_slider_disabled_inactive_track_color"/>
</selector>
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Copyright (C) 2021 The Android Open Source Project
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="?attr/colorOnSecondaryContainer" android:state_enabled="true" />
<!-- When disabled, the tick marks over inactive track should be the same color as the active track. -->
<item android:alpha="@dimen/m3_comp_slider_disabled_active_track_opacity"
android:color="@macro/m3_comp_slider_disabled_active_track_color" />
</selector>
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,8 @@
<item name="haloColor">#00FFFFFF</item>
<item name="labelStyle">@style/Widget.Material3.Slider.Label</item>
<item name="thumbColor">@color/m3_slider_thumb_color</item>
<item name="tickColorActive">@color/m3_slider_inactive_track_color</item>
<item name="tickColorInactive">@color/m3_slider_active_track_color</item>
<item name="tickColorActive">@color/m3_slider_active_tick_marks_color</item>
<item name="tickColorInactive">@color/m3_slider_inactive_tick_marks_color</item>
<item name="tickRadiusActive">@null</item>
<item name="tickRadiusInactive">@null</item>
<item name="trackColorActive">@color/m3_slider_active_track_color</item>
Expand Down

0 comments on commit 968a7ee

Please sign in to comment.