A material design slider.

Used to select from a range of values.

A slider can be used to select from either a continuous or a discrete set of values. The default is use a continuous range of values from min to max. To use discrete values, use a non-null value for divisions, which indicates the number of discrete intervals. For example, if min is 0.0 and max is 50.0 and divisions is 5, then the slider can take on the values discrete values 0.0, 10.0, 20.0, 30.0, 40.0, and 50.0.

The slider will be disabled if onChanged is null or if the range given by min..max is empty (i.e. if min is equal to max).

The slider itself does not maintain any state. Instead, when the state of the slider changes, the widget calls the onChanged callback. Most widgets that use a slider will listen for the onChanged callback and rebuild the slider with a new value to update the visual appearance of the slider.

By default, a slider will be as wide as possible, centered vertically. When given unbounded constraints, it will attempt to make the track 144 pixels wide (with margins on each side) and will shrink-wrap vertically.

Requires one of its ancestors to be a Material widget.

See also:



Slider({Key key, @required double value, @required ValueChanged<double> onChanged, double min: 0.0, double max: 1.0, int divisions, String label, Color activeColor, Color inactiveColor, bool thumbOpenAtMin: false })
Creates a material design slider. [...]


activeColor Color
The color to use for the portion of the slider that has been selected. [...]
divisions int
The number of discrete divisions. [...]
inactiveColor Color
The color for the unselected portion of the slider. [...]
label String
A label to show above the slider when the slider is active. [...]
max double
The maximum value the user can select. [...]
min double
The minimum value the user can select. [...]
onChanged ValueChanged<double>
Called when the user selects a new value for the slider. [...]
thumbOpenAtMin bool
Whether the thumb should be an open circle when the slider is at its minimum position. [...]
value double
The currently selected value for this slider. [...]
hashCode int
The hash code for this object. [...]
read-only, inherited
key Key
Controls how one widget replaces another widget in the tree. [...]
final, inherited
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited


createState() → _SliderState
Creates the mutable state for this widget at a given location in the tree. [...]
debugFillProperties(DiagnosticPropertiesBuilder description) → void
createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree. [...]
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children. [...]
@protected, inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
toDiagnosticsNode({String name, DiagnosticsTreeStyle style }) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by toStringDeep. [...]
toString() String
Returns a string representation of this object.
toStringDeep([String prefixLineOne = '', String prefixOtherLines ]) String
Returns a string representation of this node and its descendants. [...]
toStringShallow([String joiner = ', ' ]) String
Returns a one-line detailed description of the object. [...]
toStringShort() String
A short, textual description of this widget.


operator ==(other) bool
The equality operator. [...]