RangeSlide A fully customizable high quality react native Slider component backed by custom native iOS and Android views with ability to select range of values.
Add
npm install --save rn-range-slider
yarn add rn-range-slider
Link
react-native link rn-range-slider
RangeSlider
should have fixed width and height.
import RangeSlider from 'rn-range-slider';
...
<RangeSlider
style={{width: 160, height: 80}}
gravity={'center'}
min={200}
max={1000}
step={20}
selectionColor="#3df"
blankColor="#f618"
onValueChanged={(low, high, fromUser) => {
this.setState({rangeLow: low, rangeHigh: high})
}}/>
/>
...
Supported color formats are: #RGB, #RGBA, #RRGGBB, #RRGGBBAA
Name | Description | Type | Default Value |
---|---|---|---|
rangeEnabled | Slider works as an ordinary slider with 1 control if false | Boolean | true |
lineWidth | Width of slider’s line | Number | 4 |
thumbRadius | Radius of thumb (including border) | Number | 10 |
thumbBorderWidth | Border width of thumb | Number | 2 |
textSize | Size of label text | Number | 16 |
labelBorderWidth | Border width of label | Number | 2 |
labelPadding | Padding of label (distance between border and text) | Number | 4 |
labelBorderRadius | Border radius of label bubble | Number | 4 |
labelTailHeight | Height of label bubble’s tail | Number | 8 |
labelGapHeight | Gap between label and slider | Number | 4 |
textFormat | This string will be formatted with active value and shown in thumb | String | |
"Price: %d" => | |||
“Price: 75” | |||
if the current value is 75 | %d | ||
(just the number) | |||
labelStyle | Style of the label. | ||
Label is not shown if none | String |
Currently supported values:
Currently supported values:
If initialLowValue ( or initialHighValue) is not provided, it’s set to min (or max).
To call methods of RangeSlider
you need to have a reference to it’s instance.
React native provides 2 ways to do it:
...
<RangeSlider ref="_rangeSlider" />
...
this.refs._rangeSlider.setLowValue(42);
...
or
...
<RangeSlider ref={ component => this._rangeSlider = component } />
...
this._rangeSlider.setLowValue(42);
...
Name | Description | Params |
---|---|---|
setLowValue | Set low value of slider | value: number |
setHighValue | Set high value of slider | value: number |
Name | Description | Params |
---|---|---|
onValueChanged | A callback to be called when value was changed. | |
fromUser parameter is true if the value was changed because of user’s interaction (not by calling setLowValue or setHighValue methods). Just like android’s OnSeekbarChangeListener. | lowValue: number |
highValue: number
fromUser: boolean |
Author: githuboftigran
GitHub: https://github.com/githuboftigran/rn-range-slider
#react-native #programming