Research
Security News
Malicious npm Package Targets Solana Developers and Hijacks Funds
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
react-native-action-button
Advanced tools
customizable multi-action-button component for react-native
customizable multi-action-button component for react-native
npm i react-native-action-button --save
Link react-native-vector-icons
native dependencies to your project with:
react-native link react-native-vector-icons
or just:
react-native link
to link all libraries with native dependencies in your project.
First, require it from your app's JavaScript files with:
import ActionButton from '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
.
The following Basic example can be found in example/Basic
.
import React, { Component } from 'react';
import { StyleSheet, View } from 'react-native';
import ActionButton from 'react-native-action-button';
import Icon from 'react-native-vector-icons/Ionicons';
class App extends Component {
render() {
return (
<View style={{flex:1, backgroundColor: '#f3f3f3'}}>
{/* Rest of the app comes ABOVE the action button component !*/}
<ActionButton buttonColor="rgba(231,76,60,1)">
<ActionButton.Item buttonColor='#9b59b6' title="New Task" onPress={() => console.log("notes tapped!")}>
<Icon name="md-create" style={styles.actionButtonIcon} />
</ActionButton.Item>
<ActionButton.Item buttonColor='#3498db' title="Notifications" onPress={() => {}}>
<Icon name="md-notifications-off" style={styles.actionButtonIcon} />
</ActionButton.Item>
<ActionButton.Item buttonColor='#1abc9c' title="All Tasks" onPress={() => {}}>
<Icon name="md-done-all" style={styles.actionButtonIcon} />
</ActionButton.Item>
</ActionButton>
</View>
);
}
}
const styles = StyleSheet.create({
actionButtonIcon: {
fontSize: 20,
height: 22,
color: 'white',
},
});
This will create a floating Button in the bottom right corner with 3 action buttons.
Also this example uses react-native-vector-icons
for the button Icons.
<ActionButton
buttonColor="rgba(231,76,60,1)"
onPress={() => { console.log("hi")}}
/>
Take a look at this gist for showing and hiding the floating action button depending on the scroll direction.
Property | Type | Default | Description |
---|---|---|---|
size | number | 56 | use this to change the size of the Button |
resetToken | any | null | use this to reset the internal component state (expand/collapse) in a re-render cycle. Synchronize the component state. |
active | boolean | false | action buttons visible or not |
autoInactive | boolean | true | Auto hide ActionButtons when ActionButton.Item is pressed. |
hideShadow | boolean | false | use this to hide the default elevation and boxShadow |
position | string | "right" / "center" | one of: left center 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.Item s |
offsetX | number | 30 | offset from the left/right side of the screen |
offsetY | number | 30 | offset from the bottom/top of the screen |
btnOutRange | string | props.buttonColor | button background color to animate to |
outRangeScale | number | 1 | changes size of button during animation |
onPress | function | null | fires, when ActionButton is tapped |
onPressIn | function | null | fires, before ActionButton is released |
onPressOut | function | null | fires, after ActionButton is released |
onLongPress | function | null | fires, when ActionButton is long pressed |
renderIcon | function | null | Function to render the component for ActionButton Icon. It is passed a boolean, active , which is true if the FAB has been expanded, and false if it is collapsed, allowing you to show a different icon when the ActionButton Items are expanded. |
icon | Component | + | Deprecated, use renderIcon Custom component for ActionButton Icon |
backdrop | Component | false | Custom component for use as Backdrop (i.e. BlurView, VibrancyView) |
degrees | number | 135 | degrees to rotate icon |
buttonText | string | + | use this to set a different text on the button |
buttonTextStyle | style | null | use this to set the textstyle of the button's text |
onReset | function | null | use this to set the callback that will be called after the button reset's it's items |
verticalOrientation | string | "up" | direction action buttons should expand. One of: up or down |
backgroundTappable | boolean | false | make background tappable in active state of ActionButton |
activeOpacity | number | 0.85 | activeOpacity props of TouchableOpacity |
shadowStyle | style | null | The custom shadow style you want to pass in the action button |
useNativeFeedback | boolean | true | Android: Whether to use a TouchableNativeFeedback |
fixNativeFeedbackRadius | boolean | false | Android: Activate this to fix TouchableNativeFeedback Ripple UI problems |
nativeFeedbackRippleColor | string | 'rgba(255,255,255,0.75)' | Android: Pass a color to the Ripple Effect of a TouchableNativeFeedback |
Property | Type | Default | Description |
---|---|---|---|
size | number | parentSize | use this to change the size of the Button |
title | string | undefined | the title shown next to the button. When undefined the title is not hidden |
onPress | func | null | required function, triggers when a button is tapped |
buttonColor | string | same as + button | background color of the Button |
titleColor | string | "#444" | color of title, removed in v2.5. use textStyle instead |
titleBgColor | string | "white" | background color of title, removed in v2.5. use textStyle instead |
textContainerStyle | style | null | use this to set the textstyle of the button's item text container |
textStyle | style | null | use this to set the textstyle of the button's item text |
spaceBetween | number | 15 | use this to set the space between the Button and the text container |
activeOpacity | number | 0.85 | activeOpacity props of TouchableOpacity |
hideLabelShadow | boolean | same as hideShadow | use this to hide the button's label default elevation and boxShadow |
shadowStyle | style | null | The custom shadow style you want to pass in the action button item |
useNativeFeedback | boolean | true | Android: Whether to use a TouchableNativeFeedback |
fixNativeFeedbackRadius | boolean | false | Android: Activate this to fix TouchableNativeFeedback Ripple UI problems |
nativeFeedbackRippleColor | string | 'rgba(255,255,255,0.75)' | Android: Pass a color to the Ripple Effect of a TouchableNativeFeedback |
FAQs
customizable multi-action-button component for react-native
We found that react-native-action-button demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Security News
Research
Socket researchers have discovered malicious npm packages targeting crypto developers, stealing credentials and wallet data using spyware delivered through typosquats of popular cryptographic libraries.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.