From 92bc02c37c1c37c0cf1f84f50d54b49c6caee607 Mon Sep 17 00:00:00 2001 From: pfthomas Date: Wed, 20 Mar 2024 20:30:12 +0000 Subject: [PATCH] [NTC][Slider] Make tick size defaults to the stop indicator size if set PiperOrigin-RevId: 617609939 (cherry picked from commit f3a93d09a973a7899978b5b5ee4dbe1ec53e38ac) --- docs/components/Slider.md | 7 +++++-- .../com/google/android/material/slider/BaseSlider.java | 7 ++++--- .../google/android/material/slider/res/values/styles.xml | 2 ++ 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/docs/components/Slider.md b/docs/components/Slider.md index 4c255e656ec..53189a68d2c 100644 --- a/docs/components/Slider.md +++ b/docs/components/Slider.md @@ -311,6 +311,9 @@ slider also has tick marks. `app:trackColorInative`. It's a shorthand for setting both values to the same thing. +**Note:** `app:trackStopIndicatorSize` takes precedence over +`app:tickRadiusActive` and `app:tickRadiusInactive`. + #### Thumb attributes | Element | Attribute | Related method(s) | Default value | @@ -346,8 +349,8 @@ Element | Attribute | Related method(s) | **Color** | `app:tickColor` | `setTickTintList`
`getTickTintList` | `null` | | **Color for tick's active part** | `app:tickColorActive` | `setTickActiveTintList`
`getTickActiveTintList` | `?attr/colorSurfaceContainerHighest` | | **Color for tick's inactive part** | `app:tickColorInactive` | `setTickInactiveTintList`
`getTickInactiveTintList` | `?attr/colorPrimary` | -| **Radius for tick's active part** | `app:tickRadiusActive` | `setTickActiveRadius`
`getTickActiveRadius` | `1dp` | -| **Radius for tick's inactive part** | `app:tickRadiusInactive` | `setTickInactiveRadius`
`getTickInactiveRadius` | `1dp` | +| **Radius for tick's active part** | `app:tickRadiusActive` | `setTickActiveRadius`
`getTickActiveRadius` | `null` (1/2 trackStopIndicatorSize) | +| **Radius for tick's inactive part** | `app:tickRadiusInactive` | `setTickInactiveRadius`
`getTickInactiveRadius` | `null` (1/2 trackStopIndicatorSize) | | **Tick visible** | `app:tickVisible` | `setTickVisible`
`isTickVisible()` | `true` | **Note:** `app:tickColor` takes precedence over `app:tickColorActive` and diff --git a/lib/java/com/google/android/material/slider/BaseSlider.java b/lib/java/com/google/android/material/slider/BaseSlider.java index ffc993131b1..9619ea0046d 100644 --- a/lib/java/com/google/android/material/slider/BaseSlider.java +++ b/lib/java/com/google/android/material/slider/BaseSlider.java @@ -538,9 +538,10 @@ private void processAttributes(Context context, AttributeSet attrs, int defStyle setTrackHeight(a.getDimensionPixelSize(R.styleable.Slider_trackHeight, 0)); - setTickActiveRadius(a.getDimensionPixelSize(R.styleable.Slider_tickRadiusActive, 0)); - - setTickInactiveRadius(a.getDimensionPixelSize(R.styleable.Slider_tickRadiusInactive, 0)); + setTickActiveRadius( + a.getDimensionPixelSize(R.styleable.Slider_tickRadiusActive, trackStopIndicatorSize / 2)); + setTickInactiveRadius( + a.getDimensionPixelSize(R.styleable.Slider_tickRadiusInactive, trackStopIndicatorSize / 2)); setLabelBehavior(a.getInt(R.styleable.Slider_labelBehavior, LABEL_FLOATING)); diff --git a/lib/java/com/google/android/material/slider/res/values/styles.xml b/lib/java/com/google/android/material/slider/res/values/styles.xml index 4aa0e71851f..cd3d15ad6dc 100644 --- a/lib/java/com/google/android/material/slider/res/values/styles.xml +++ b/lib/java/com/google/android/material/slider/res/values/styles.xml @@ -63,6 +63,8 @@ @color/m3_slider_thumb_color @color/m3_slider_inactive_track_color @color/m3_slider_active_track_color + @null + @null @color/m3_slider_active_track_color @color/m3_slider_inactive_track_color @dimen/m3_comp_slider_inactive_track_height