Simple switch toggle component for react-native. This component supports horizontal switch toggle with animation with several options like start/end background colors, start/end circle colors, and duration for animation.
Current package is fully redesigned in 2.0.0
. We recommend you to use this package version >=2.0.0
.
Do you enjoy using react-native-switch-toggle
? Then think about using dooboo-ui which is our ui integrated ilbrary. It included SwitchToggle
from 0.1.6
.
yarn add doobo-ui
necessary | types | default | |
---|---|---|---|
switchOn | ✓ | boolean | false |
onPress | ✓ | func | () => {} |
containerStyle | styles | { width: 80, height: 40, borderRadius: 25 ... } | |
circleStyle | styles | { width: 32, height: 32, borderRadius: 16 ... } | |
backgroundColorOn | string | 'black' | |
backgroundColorOff | string | '#C4C4C4' | |
circleColorOn | string | 'white' | |
circleColorOff | string | '#C4C4C4' | |
duration | number | 300 | |
type | number | 0 - Normal switch, 1 - Switch with a text | |
buttonText | string | Text on-top of the button | |
backTextRight | string | Text to appear in right side when button toggled to left | |
backTextLeft | string | Text to appear in left side when button toggled to right | |
buttonTextStyle | styles | Styles for text on the button | |
textRightStyle | styles | Styles for text in right | |
textLeftStyle | styles | Styles for text in left | |
buttonStyle | styles | Styles for the button | |
buttonContainerStyle | styles | Styles for button container | |
rightContainerStyle | styles | Styles for right text container | |
leftContainerStyle | styles | Styles for left text container |
$ npm install react-native-switch-toggle --save
import SwitchToggle from "react-native-switch-toggle";
<SwitchToggle switchOn={on} onPress={() => off(!on)} />
<SwitchToggle
switchOn={on}
onPress={() => off(!on)}
circleColorOff='#C4C4C4'
circleColorOn='#00D9D5'
backgroundColorOn='#6D6D6D'
backgroundColorOff='#C4C4C4'
/>
<SwitchToggle
switchOn={on}
onPress={() => off(!on)}
containerStyle={{
marginTop: 16,
width: 106,
height: 48,
borderRadius: 25,
padding: 5,
}}
circleStyle={{
width: 40,
height: 40,
borderRadius: 20,
}}
/>