customizable multi-action-button component for react-native
npm i react-native-action-button --saveFirst, require it from your app's JavaScript files with:
var ActionButton = require('react-native-action-button');ActionButton component is the main component which wraps everything and provides a couple of props (see Config below).
ActionButton.Item specifies an Action Button. You have to include at least 1 ActionButton.Item.
varReact=require('react-native');var{ Component, Stylesheet, View,}=React;varActionButton=require('react-native-action-button'),Icon=require('react-native-vector-icons/Ionicons');classAppextendsComponent{constructor(props){super(props);}render(){return(<Viewstyle={{flex:1,backgroundColor: '#f3f3f3'}}>
// Rest of App come ABOVE the action button component!
<ActionButtonbuttonColor="rgba(231,76,60,1)"><ActionButton.ItembuttonColor='#9b59b6'title="New Task"onPress={()=>console.log("notes tapped!")}><Iconname="android-create"style={styles.actionButtonIcon}/></ActionButton.Item><ActionButton.ItembuttonColor='#3498db'title="Notifications"onPress={()=>{}}><Iconname="android-notifications-none"style={styles.actionButtonIcon}/></ActionButton.Item><ActionButton.ItembuttonColor='#1abc9c'title="All Tasks"onPress={()=>{}}><Iconname="android-done-all"style={styles.actionButtonIcon}/></ActionButton.Item></ActionButton></View>);}}varstyles=StyleSheet.create({actionButtonIcon: {fontSize: 20,height: 22,color: 'white',},});This will create a floating Button in the bottom right corner with 2 action buttons.
Also this example uses react-native-vector-icons for the button Icons.
| Property | Type | Default | Description |
|---|---|---|---|
| active | boolean | false | action buttons visible or not |
| type | string | "float" | either float (bigger btns) or tab (smaller btns) + position changes |
| position | string | "right" / "center" | one of: leftcenter and right |
| bgColor | string | "transparent" | background color when ActionButtons are visible |
| buttonColor | string | "rgba(0,0,0,1)" | background color of the +Button (must be rgba value!) |
| spacing | number | 20 | spacing between the ActionButton.Items |
| offsetX | number | 10 / 30 | offset to the sides of the screen |
| offsetY | number | 4 / 30 | offset to the bottom of the screen |
| btnOutRange | string | props.buttonColor | button background color to animate to |
| outRangeScale | number | 1 | changes size of button during animation |
| Property | Type | Default | Description |
|---|---|---|---|
| title | string | undefined | the title shown next to the button, can be empty |
| onPress | func | null | required function, triggers when a button is tapped |
| buttonColor | string | same as + button | background color of the Button |
