All Projects → mastermoo → React Native Action Button

mastermoo / React Native Action Button

Licence: mit
customizable multi-action-button component for react-native

Programming Languages

javascript
184084 projects - #8 most used programming language
objective c
16641 projects - #2 most used programming language
python
139335 projects - #7 most used programming language
java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to React Native Action Button

Faboptions
A multi-functional FAB component with customizable options
Stars: ✭ 1,060 (-55.98%)
Mutual labels:  fab, component
React Native Immutable List View
📜 Drop-in replacement for ListView, FlatList, and VirtualizedList.
Stars: ✭ 206 (-91.45%)
Mutual labels:  component
Brouter
Stars: ✭ 198 (-91.78%)
Mutual labels:  component
Rdvcalendarview
Highly customizable calendarView and calendarViewController for iOS
Stars: ✭ 203 (-91.57%)
Mutual labels:  component
React Sticky Table
Responsive and dynamically-sized fixed headers and columns for tables
Stars: ✭ 198 (-91.78%)
Mutual labels:  component
Navigation Stack
NavigationStack is a stack-modeled UI navigation controller. Swift UI library made by @Ramotion
Stars: ✭ 2,289 (-4.94%)
Mutual labels:  component
Malagu
Malagu Development Framework (QQ: 1013685855 钉钉群:31992376)
Stars: ✭ 196 (-91.86%)
Mutual labels:  component
React Reorder
Drag & drop, touch enabled, reorderable / sortable list, React component
Stars: ✭ 209 (-91.32%)
Mutual labels:  component
React Polymorphic Box
Building blocks for strongly typed polymorphic components in React.
Stars: ✭ 206 (-91.45%)
Mutual labels:  component
Komponents Deprecated
📦 React-inspired UIKit Components - ⚠️ Deprecated
Stars: ✭ 202 (-91.61%)
Mutual labels:  component
Vue Upload Component
Vue.js file upload component, Multi-file upload, Upload directory, Drag upload, Drag the directory, Upload multiple files at the same time, html4 (IE 9), `PUT` method, Customize the filter
Stars: ✭ 2,422 (+0.58%)
Mutual labels:  component
React Popup
React popup component
Stars: ✭ 198 (-91.78%)
Mutual labels:  component
Flap
Flap(灵动),一个基于 RecyclerView 的页面组件化框架。
Stars: ✭ 204 (-91.53%)
Mutual labels:  component
Silentbox
A lightbox inspired Vue.js component.
Stars: ✭ 196 (-91.86%)
Mutual labels:  component
Annar
优雅、简洁的 Remax 组件库
Stars: ✭ 203 (-91.57%)
Mutual labels:  component
Form
The Form component allows you to easily create, process and reuse HTML forms.
Stars: ✭ 2,406 (-0.08%)
Mutual labels:  component
Expression Language
The ExpressionLanguage component provides an engine that can compile and evaluate expressions.
Stars: ✭ 2,418 (+0.42%)
Mutual labels:  component
Babel Plugin React Intl Auto
i18n for the component age. Auto management react-intl ID.
Stars: ✭ 203 (-91.57%)
Mutual labels:  component
React Instagram Embed
React embedding Instagram posts component
Stars: ✭ 209 (-91.32%)
Mutual labels:  component
Componentcornerstone
🐜🐜 一种全新的android组件化方案,无需下沉公用代码,无需采用路由等硬编码方式分发sdk,独立维护组件暴露的SDK/IMPL,打破官方模块循环且支持组件间互相调用SDK,支持集成组件调试/组件独立运行。A brand new android componentization solution, no need to sink public code, no need to use hard coding to distribute sdk, independent maintenance component exposed SDK / IMPL, break the official module loop and support the call between components The SDK supports integrated component debugging/components to run independently.
Stars: ✭ 207 (-91.4%)
Mutual labels:  component

react-native-action-button

customizable multi-action-button component for react-native

react-native-action-button demo react-native-action-button demo react-native-action-button demo react-native-action-button demo

Known Issues

  • Doesn't Work While Android Debugging. See issue #79.

Installation

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.

Usage

First, require it from your app's JavaScript files with:

import ActionButton from 'react-native-action-button';
ActionButton

ActionButton component is the main component which wraps everything and provides a couple of props (see Config below).

ActionButton.Item

ActionButton.Item specifies an Action Button. You have to include at least 1 ActionButton.Item.

Example

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.

FAB Example

<ActionButton
  buttonColor="rgba(231,76,60,1)"
  onPress={() => { console.log("hi")}}
/>

Show/hide the FAB on scroll

Take a look at this gist for showing and hiding the floating action button depending on the scroll direction.

Configuration

ActionButton:
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.Items
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
ActionButton.Item:
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
numberOfLines number 1 use this to set the number of lines on the button's item text
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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].