conradchen
17da000a29
[Slider] Add support for custom thumb drawables
...
Resolves https://github.com/material-components/material-components-android/issues/1522
PiperOrigin-RevId: 429607888
2022-02-23 11:10:12 -08:00
conradchen
3cf0647da0
[Slider] Fix lint error caused by hidden super interface
...
Overriding the inherited methods from a hidden super interface to fix lint errors caused by those methods being hidden.
Resolves https://github.com/material-components/material-components-android/issues/2493
PiperOrigin-RevId: 421909180
2022-01-18 12:03:14 -05:00
marianomartin
71fcb73c7f
[Slider] Changed slider thumbs to prevent crossing each other
...
PiperOrigin-RevId: 318502401
2020-06-26 14:13:27 -04:00
marianomartin
555356b03f
Internal cleanup
...
PiperOrigin-RevId: 318134343
2020-06-26 14:06:52 -04:00
marianomartin
8f0aa7f8d6
Split Slider into two classes
...
Slider throws an exception when calling getValue with more than one value. Supporting both single value and multiple values in the same class makes it confusing. While not supporting convenience methods getValue and setValue in the multi value class makes it, well, inconvenient.
In addition min, max are also a bit ambiguous since seekBar uses these for valueFrom and valueTo so those were removed.
PiperOrigin-RevId: 311774410
2020-05-18 11:19:05 -04:00
connieshi
7d92cd9a4a
Set Slider to be clickable by default.
...
Resolves https://github.com/material-components/material-components-android/issues/1121
PiperOrigin-RevId: 311732626
2020-05-18 11:16:55 -04:00
marianomartin
59c156013f
Make Slider a11y helper a static class
...
PiperOrigin-RevId: 310251893
2020-05-07 12:46:18 -04:00
connieshi
33683851f2
Remove "color" from getters/setters that end with "TintList" to be less verbose.
...
PiperOrigin-RevId: 307838995
2020-04-22 15:13:13 -04:00
connieshi
7a8f3bd48c
Rename color setters in Slider so it's obvious that color properties are ColorStateList.
...
PiperOrigin-RevId: 307436479
2020-04-20 15:04:20 -04:00
hunterstich
d6501c97bc
[Slider] Fix attach/detach behavior when Slider is added in an overlay as part of a Transition.
...
Resolves https://github.com/material-components/material-components-android/issues/1195
A Visibility transition will add Slider to an overlay and then call onAttachToWindow/onDetachFromWindow which looks for an android.R.id.content view, which doen't exist, getting stuck in a loop. This adds an exit strategy for android.R.id.content not being found and fixes Slider in Visibility transitions.
PiperOrigin-RevId: 305886706
2020-04-13 10:21:36 -07:00
haodong
6d5d939134
[Javadoc] Fixed errors in Slider.java
...
PiperOrigin-RevId: 300572596
2020-03-13 11:09:36 -04:00
cketcham
5a34bad28b
Update content description for Slider
...
It shouldn't add the content description of the Slider if it doesn't exist.
It shouldn't add the min and max values if there's only 1 thumb.
PiperOrigin-RevId: 298453769
2020-03-05 12:58:24 -08:00
Paul Woitaschek
e2224fa0a4
Correctly initialize the slider state on instance state restoration.
...
Resolves https://github.com/material-components/material-components-android/pull/1072
GIT_ORIGIN_REV_ID=3a2adb451ab8b2879ea409793d0ebd6c60131f3d
PiperOrigin-RevId: 298379846
2020-03-02 15:37:08 -05:00
cketcham
84a351281e
Delay validation for Slider valueTo, valueFrom, stepSize, and values
...
This enables initially setting things that conflict. For instance if the current valueFrom is 0 and valueTo is 1, it's now possible to call setValueFrom() with something greater than 1 without immediately throwing an exception.
Resolves https://github.com/material-components/material-components-android/issues/923
PiperOrigin-RevId: 297671715
2020-02-28 09:35:36 -05:00
cketcham
1bc4f60d81
Handle single tap for Slider in scrollable container
...
PiperOrigin-RevId: 295160709
2020-02-14 17:13:07 -05:00
cketcham
767915868d
Fix Slider rounding error caused by floats
...
PiperOrigin-RevId: 294686381
2020-02-13 10:24:03 -05:00
cketcham
340cdea60d
Add a11y support to Slider
...
This includes support for Range slider when there is more than one thumb. Each thumb can receive focus and behaves as if it was it's own SeekBar.
Resolves https://github.com/material-components/material-components-android/issues/827
PiperOrigin-RevId: 294681995
2020-02-13 10:23:18 -05:00
cketcham
9de1c97979
Add RTL support for Slider
...
PiperOrigin-RevId: 294114681
2020-02-10 10:01:30 -05:00
cketcham
5076e0ac30
Prevent Slider from intercepting the the back key
...
This prevents Slider from intercepting the back key when you'd expect the activity to handle it.
PiperOrigin-RevId: 293605504
2020-02-06 17:24:58 -05:00
cketcham
4c99e53db4
Add support for D pad and keyboard control for Slider
...
This adds support for selecting an active thumb as well as changing the value of the currently selected thumb.
https://github.com/material-components/material-components-android/issues/827
PiperOrigin-RevId: 293008598
2020-02-04 17:30:25 -05:00
cketcham
e4e10e2238
Render the focused Slider value indicator on top
...
This also adds a surface color outline to the tooltip when there is more than one thumb so they can be distinguished when on top of each other.
PiperOrigin-RevId: 292558316
2020-01-31 13:38:05 -05:00
cketcham
99932525e9
Improve handling of touch input for Slider with multiple thumbs
...
This changes the logic of picking the correct thumb on touch down. The closest thumb will be picked unless there are two thumbs in the same spot. In that case it will wait for enough movement in the x direction to determine which thumb to pick.
PiperOrigin-RevId: 292353858
2020-01-31 11:13:06 -05:00
cketcham
a6e28bef76
Add support for multiple Slider thumbs
...
Resolves https://github.com/material-components/material-components-android/issues/916
PiperOrigin-RevId: 292135289
2020-01-29 16:14:10 -05:00
cketcham
9e4ff3009f
Refactor handling of the thumb position to prepare for multiple thumb support
...
PiperOrigin-RevId: 289482135
2020-01-13 15:05:21 -08:00
haodong
fa4dc3d038
Fixed crash with NullPointerException when set value before laid out in Slider.
...
PiperOrigin-RevId: 288945151
2020-01-10 09:07:35 -08:00
haodong
9bbcd2d7ae
Fixed no OnChangeListener fires when value changed with single click.
...
Fixed set same values triggering listener.
Resolves https://github.com/material-components/material-components-android/issues/716
Resolves https://github.com/material-components/material-components-android/issues/853
PiperOrigin-RevId: 288608132
2020-01-08 11:57:33 -08:00
cketcham
7691797c2f
Allow clients to set their own OnFocusChangeListener on Slider
...
Fixes https://github.com/material-components/material-components-android/issues/844
PiperOrigin-RevId: 288403285
2020-01-07 13:34:44 -05:00
ruben
cde09d4b4e
[Slider] Add missing functionality from SeekBar regarding touch events and value changes
...
Resolves https://github.com/material-components/material-components-android/pull/831
GIT_ORIGIN_REV_ID=70dd0a10ef204837b01ed9593cfdd9bcf9137228
Co-authored-by: cketcham <cketcham@gmail.com>
PiperOrigin-RevId: 287545665
2019-12-30 14:15:50 -05:00
cketcham
a011ace28f
Remove ticksCoordinates from SliderState
...
There's no point in caching ticksCoordinates since it will have to be recalculated based on the new width once it's laid out again.
Resolves https://github.com/material-components/material-components-android/issues/793
PiperOrigin-RevId: 287363665
2019-12-30 14:14:55 -05:00
cketcham
9ae1494597
Add option to hide the Slider's label
...
This creates 3 options, to have the label floating, within the bounds of the view, or not shown.
Resolves https://github.com/material-components/material-components-android/issues/703
PiperOrigin-RevId: 287244827
2019-12-30 13:31:52 -05:00
cketcham
354edd09f4
Rename method in Slider
...
PiperOrigin-RevId: 286912170
2019-12-23 15:43:11 -05:00
cketcham
df61bff112
Fixed halo rendering bug for Slider
...
Using a hardware layer was causing problems in some versions of Android when drawing the halo ripple. Hardware layer really only needs to be used when the slider is disabled.
PiperOrigin-RevId: 286640042
2019-12-21 08:51:03 -05:00
cketcham
e38d260d69
Prevent unnecessary invalidation for Slider if the values haven't changed
...
PiperOrigin-RevId: 286632473
2019-12-21 08:50:33 -05:00
cketcham
5f631d48f0
Fix logic for when to draw Slider's compat halo
...
PiperOrigin-RevId: 286629247
2019-12-21 08:50:09 -05:00
cketcham
d8641182f9
Remove call to Slider's requestDisallowInterceptTouchEvent(false) in ACTION_UP
...
On the start of a new touch event on the parent, this will be reset.
PiperOrigin-RevId: 286623951
2019-12-21 08:49:30 -05:00
cketcham
3e212efdc2
Add getters and setters for colors for Slider
...
Resolves http://github.com/material-components/material-components-android/issues/770
PiperOrigin-RevId: 286472940
2019-12-21 08:47:32 -05:00
ruben
a7da96fac0
[Slider] Fixed behaviour when Slider is in a scrolling container
...
Resolves https://github.com/material-components/material-components-android/pull/833
GIT_ORIGIN_REV_ID=86b976f757fb8354ffe502c5acc32b6954890bb9
PiperOrigin-RevId: 286431744
2019-12-19 15:49:27 -05:00
cketcham
b2deaa3f22
Update the radius of the Slider RippleDrawable
...
PiperOrigin-RevId: 286239127
2019-12-18 15:56:40 -05:00
cketcham
dc17035a8b
Fix height of Slider when floating label is false
...
PiperOrigin-RevId: 286201599
2019-12-18 15:55:40 -05:00
cketcham
f28cc095a7
Reorganized and updated comments in Slider
...
PiperOrigin-RevId: 286194091
2019-12-18 15:54:30 -05:00
cketcham
921d392602
Rename slider tick and track color attributes to keep them together when sorted alphabetically
...
PiperOrigin-RevId: 285972204
2019-12-17 17:06:10 -05:00
cketcham
1723dd4580
Recaulculate Slider ticks when the step size changes
...
PiperOrigin-RevId: 285968387
2019-12-17 17:05:44 -05:00
cketcham
b1816e118b
Draw the halo color instead of the thumb color for the compat halo for Slider
...
PiperOrigin-RevId: 285489212
2019-12-16 16:01:03 -05:00
cketcham
6adbcc2777
Rename Slider forceDrawCompatShadow to be forceDrawCompatHalo
...
PiperOrigin-RevId: 285442759
2019-12-16 16:00:24 -05:00
cketcham
fe160f33e6
Add option to set the track height of the Slider
...
PiperOrigin-RevId: 284667379
2019-12-10 07:25:07 -05:00
cketcham
df94cd1bca
Remove the requirement to setClipChildren false on the parent of Slider
...
Draw the Slider label with ViewOverlay, and update the way the halo is drawn pre lollipop. This stops any clipping that happens by the bounds view.
Resolves https://github.com/material-components/material-components-android/issues/697
PiperOrigin-RevId: 284650572
2019-12-10 07:24:00 -05:00
marianomartin
58190deb21
[Slider] Cannot set stepSize < 1.0
...
Resolves https://github.com/material-components/material-components-android/issues/704
PiperOrigin-RevId: 282783034
2019-12-02 17:31:47 -05:00
cketcham
5d1a369ea0
Update Slider to use TooltipDrawable
...
PiperOrigin-RevId: 282583539
2019-12-02 17:27:40 -05:00
xxfast
45bfd96a61
[Slider] Fix slider to invalidate after set value
...
Resolves https://github.com/material-components/material-components-android/pull/720
GIT_ORIGIN_REV_ID=e1eaf165d734b1c60c05116d200af4ff6f5c583e
PiperOrigin-RevId: 277319683
2019-11-01 13:28:40 -07:00
cketcham
4e1da2a4be
Update Slider to use RippleDrawable for Lollipop and above
...
PiperOrigin-RevId: 276528198
2019-11-01 13:28:40 -07:00