rn-scrolling-fab v1.0.2
React Native Scrolling FAB
Scrollable Float action button for React Native with NativeDriver for high-performance animations.
Table of Content:
How it looks
Installation
npm i rn-scrolling-fab --saveor
yarn add rn-scrolling-fabExample
Take a look into example folder
To execute the example using Expo run the following command:
yarn run run:exampleHow to use it
Step 1: Import the FloatingAction component:
import { FloatingAction } from "rn-scrolling-fab";Second step: define the buttons
const actions = [
{
key: "bt_home",
icon: require("./images/ic_home_white.png"),
},
{
key: "bt_favorite",
icon: require("./images/ic_favorite_white.png"),
},
{
key: "bt_news",
icon: require("./images/ic_news_white.png"),
},
{
key: "bt_video",
icon: require("./images/ic_video_white.png"),
}
];or pass icon as component
const actions = [
{
key: "UK",
icon: <Text>π¬π§</Text>,
},
{
key: "CA",
icon: <Text>π¨π¦</Text>,
},
{
key: "DE",
icon: <Text>π©πͺ</Text>,
},
{
key: "USA",
icon: <Text>πΊπΈ</Text>,
}
];Third step: use it
<View style={styles.container}>
<Text style={styles.example}>Floating Action example</Text>
<FloatingAction
actions={actions}
onPressItem={key => {
console.log(`selected button: ${key}`);
}}
/>
</View>Reference
Props
actions: Array<ActionsProps>
Default:
[]Actions to be displayed when the main Floating Action Button is pressed. See ActionsProps section for more information about the
ActionsPropskeys and values.
size: number
Default:
screenWidth * 0.13The size of the Floating Action Button.
isVertical: boolean
Default:
falseDetermines whether the actions are displayed vertically as a Vertical Fab or horizontally. By default, it is set to display horizontally.
isHidden: boolean
Default:
falseDetermines whether the Floating Action Button is hidden. By default, it is visible.
tintColor: ColorValue
Default:
rgba(24,24,24,0.5)The color of the Floating Action Button. Pass this
ColorValueas a hexadecimal color respecting the default format.
overlayColor: ColorValue
Default:
rgba(0,0,0,0.1)The overlay color of the Floating Action Button. Pass this
ColorValueas a hexadecimal color respecting the default format.
hideOverlay: boolean
Default:
falseDetermines whether the overlay is hidden. By default, the overlay is visible.
position: Position
Default:
rightThe position of the Floating Action Button, either
Position.LEFTorPosition.RIGHT.
bottomSpace: DimensionValue
Default:
PixelRatio.get() * 10The bottom space of the Floating Action Button.
horizontalSpace: DimensionValue
Default:
PixelRatio.get() * 10The horizontal space of the Floating Action Button. If the position is left, then the space from the left edge of the screen.
floatingIcon: ReactElement | ImageSourcePropType | null
Default:
nullThe icon of the Floating Action Button. It can be a React element, an image source, or null. By default, the icon is a plus icon.
floatingIconSize: number between 0 and 1
Default:
0.5The size of the Floating Action Button icon. It can be a value between 0 and 1.
floatingIconColor: ColorValue
Default:
#f5f5f5The color of the Floating Action Button icon.
onPressItem: (key: string) => void
Default:
undefinedCallback function to be called when an action item is pressed.
@paramkey: The key of the pressed action item.
rippleColor: ColorValue
Default:
rgba(245,245,245,0.1)The color of the ripple effect for Android and opacity effect for iOS when an action item is pressed.
onPressMain: (actionType: FloatingIconPressActions) => void
Default:
undefinedCallback function to be called when the main Floating Action Button is pressed.
@paramactionType: The type of the Floating Action Button press action.
dismissKeyboardOnPress: boolean
Default:
falseDetermines if the keyboard should be dismissed when an action item is pressed.
shadow: ViewStyle
The shadow style of the floating action button.
- Default:
{ shadowColor: 'rgba(0,0,0, 0.6)', shadowOffset: { width: 7, height: 7 }, shadowOpacity: 1, shadowRadius: 17, elevation: size / 3 }
ActionsProps
icon: ReactElement | ImageSourcePropType | null
The icon of the action item. It can be a React element, an image source, or null.
key: string
The key of the action item.
TODO
- first implementation
- example
- change plus icon to be customizable
- migrate to TypeScript
- add more positions.
- support hide or show the component with an animation
- open on mounting