React-Native-Toggle-Element 2.1.1 CircleCI
The library has been rewritten with Typescript support in version 2.0.0. This library will work well on both React Native and Expo, please check out the examples folder.
The latest version is 2.1.1
- React will stop supporting
defaultPropsin major releases, so the react-native-toggle-element no longer uses it in this version.
yarn add react-native-toggle-element
# or with npm
npm install react-native-toggle-elementimport React, { useState } from "react"; import Toggle from "react-native-toggle-element"; const [toggleValue, setToggleValue] = useState(false);
<Toggle value={toggleValue} onPress={(val) => setToggleValue(val)} />
<Toggle value={toggleValue} onPress={(newState) => setToggleValue(newState)} leftTitle="On" />
<Toggle value={toggleValue} onPress={(newState) => setToggleValue(newState)} leftTitle="Right" />
<Toggle value={toggleValue} onPress={(newState) => setToggleValue(newState)} leftTitle="Left" rightTitle="Right" />
<Toggle value={toggleValue} onPress={(newState) => setToggleValue(newState)} leftComponent={<Icon name="credit" width="30" height="30" fill={"#3BD2B5"} />} />
<Toggle value={toggleValue} onPress={(newState) => setToggleValue(newState)} rightComponent={<Icon name="plus" width="30" height="30" fill={"#3BD2B5"} />} />
<Toggle value={toggleValue} onPress={(newState) => setToggleValue(newState)} disabled leftComponent={ <Icon name="credit" width="30" height="30" fill={Colors.tabIconSelected} /> } rightComponent={ <Icon name="plus" width="30" height="30" fill={Colors.tabIconSelected} /> } />
<Toggle value={toggleValue} onPress={(newState) => setToggleValue(newState)} thumbActiveComponent={ <Icon name="sun" width="40" height="40" fill={"#3BD2B5"} /> } thumbInActiveComponent={ <Icon name="night" width="40" height="40" fill={"#03452C"} /> } trackBar={{ activeBackgroundColor: "#9ee3fb", inActiveBackgroundColor: "#3c4145", borderActiveColor: "#86c3d7", borderInActiveColor: "#1c1c1c", borderWidth: 5, width: 100, }} />
<Toggle disabled value={toggleValue} onPress={(newState) => setToggleValue(newState)} leftTitle="Left" rightTitle="Right" />
<Toggle value={toggleValue} onPress={(newState) => setToggleValue(newState)} leftTitle="Left" rightTitle="Right" trackBar={{ width: 200, height: 50, radius: 25, }} />
TrackBarStyle will override Border active color & Border inactive color
<Toggle value={toggleValue} onPress={(newState) => setToggleValue(newState)} trackBarStyle={{ borderColor: "green", }} trackBar={{ borderWidth: 2, }} />
<Toggle value={toggleValue} onPress={(newState) => setToggleValue(newState)} leftTitle="Left" rightTitle="Right" thumbButton={{ width: 60, height: 60, radius: 30, }} />
<Toggle disabled disabledTitleStyle={{ color: "red" }} disabledStyle={{ backgroundColor: "gray", opacity: 0.3 }} value={toggleValue} onPress={(newState) => setToggleValue(newState)} leftTitle="Left" rightTitle="Right" />
- containerStyle
- disabled
- disabledStyle
- disabledTitleStyle
- leftComponent
- leftTitle
- rightComponent
- rightTitle
- thumbActiveComponent
- thumbInActiveComponent
- thumbStyle
- thumbButton
- trackBar
- trackBarStyle
- animationDuration
| Type | Default |
|---|---|
| React element or component | none |
containerStyle style for main container
| Type | Default |
|---|---|
| style | none |
disabled disable the Toggle Button component (optional)
| Type | Default |
|---|---|
| boolean | false |
disabledStyle styling for Toggle Button Component for disabled (optional)
| Type | Default |
|---|---|
| View style (object) | none |
disabledTitleStyle styling for leftTitle & right Title(optional) when Toggle Button set with status is disabled(optional). If you want to set disable style for Active & Inactive you should use custom left component or custom right component
| Type | Default |
|---|---|
| Text style (object)) | none |
leftComponent define your left component here
| Type | Default |
|---|---|
| React element or component | none |
leftTitle button left title (optional)
| Type | Default |
|---|---|
| string | none |
rightComponent define your right component here (optional)
| Type | Default |
|---|---|
| React element or component | none |
rightTitle button right title (optional)
| Type | Default |
|---|---|
| string | none |
thumbActiveComponent define your thumb button component when status is active (optional)
| Type | Default |
|---|---|
| React element or component | none |
thumbInActiveComponent define your thumb button component when status is inactive (optional)
| Type | Default |
|---|---|
| React element or component | none |
thumbStyle thumb button style (optional). Styling will override the value from thumbButton props
| Type | Default |
|---|---|
| View style (object) | none |
thumbButton define to change size and radius and color depend on active / inactive status (optional)
| Type | Default |
|---|---|
| borderWidth | 0 |
| width | 50 |
| height | 50 |
| radius | 25 |
| activeBackgroundColor | #fde2e2 |
| inActiveBackgroundColor | #ffb6b6 |
trackBar define to change size and radius and color depend on active / inactive status (optional)
| Type | Default |
|---|---|
| borderWidth | 0 |
| width | 50 |
| height | 50 |
| radius | 25 |
| activeBackgroundColor | #fde2e2 |
| inActiveBackgroundColor | #ffb6b6 |
| borderActiveColor | transparent |
| borderInActiveColor | transparent |
trackBarStyle trackbar style (optional). Styling will override the value from trackBar props
| Type | Default |
|---|---|
| View style (object) | none |
animationDuration duration of the thumb button animation (optional).
| Type | Default |
|---|---|
| number | 350 |