
Exploring Alternative Emulators for React Native Development
January 20, 2024
1 min
React Native Radial Menu is a customizable component for creating circular menus in your React Native app. The radial menu consists of a center element and several surrounding elements that are triggered by a press event. The component can be used for a wide range of use cases such as navigation, input selection, and more. Here are some of the props available for the React Native Radial Menu:
onOpen: A callback function that will be called when the radial menu is opened.
onClose: A callback function that will be called when the radial menu is closed.
endAngle: The angle at which the last element of the menu will be positioned, measured in degrees.
radius: The radius of the menu, measured in pixels.
centerItem: The item that will be displayed in the center of the menu.
renderItem: A function that takes an item as a parameter and returns a React element that will be displayed in the menu.
This menu can be fully customized using props.
itemRadius
(Number) 30
- Menu item radiusmenuRadius
(Number) 100
- Distance between root and items in open state.spreadAngle
(Number: 0 - 360) 360
- The angle in degrees based on which menu items are spread on a circle around our root. E.g. 360 full circle, 180 half of circle and so on.startAngle
(Number) 0
- Items are distributed in clockwise direction starting from startAngle. 0 is left, 90 top, and so on.onOpen
(Function) - Called immediately after the menu has entered the open state.onClose
(Function) - Called immediately after the menu has entered the close state.onSelect
(Function) - Called when the item is selectednpm install react-native-radial-menu
import React, { useState } from 'react';import { StyleSheet, View, Text } from 'react-native';import RadialMenu from 'react-native-radial-menu';const App = () => {const [isOpen, setIsOpen] = useState(false);return (<View style={styles.container}><RadialMenuonOpen={() => setIsOpen(true)}onClose={() => setIsOpen(false)}distance={70}spacing={35}spreadAngle={150}startAngle={135}isOpen={isOpen}backgroundColor="#fff"mainButton={{backgroundColor: '#a2a2a2',borderRadius: 20,height: 40,width: 40,justifyContent: 'center',alignItems: 'center',}}mainButtonIcon={<Text style={{ color: '#fff', fontSize: 24 }}>+</Text>}menuButton={{backgroundColor: '#a2a2a2',borderRadius: 20,height: 40,width: 40,justifyContent: 'center',alignItems: 'center',}}menuButtonIcon={<Text style={{ color: '#fff', fontSize: 24 }}>•</Text>}><View style={styles.menuItem}><Text style={styles.menuText}>A</Text></View><View style={styles.menuItem}><Text style={styles.menuText}>1</Text></View><View style={styles.menuItem}><Text style={styles.menuText}>2</Text></View><View style={styles.menuItem}><Text style={styles.menuText}>3</Text></View><View style={styles.menuItem}><Text style={styles.menuText}>4</Text></View></RadialMenu></View>);};const styles = StyleSheet.create({container: {flex: 1,justifyContent: 'center',alignItems: 'center',},menuItem: {backgroundColor: '#a2a2a2',borderRadius: 20,height: 40,width: 40,justifyContent: 'center',alignItems: 'center',},menuText: {color: '#fff',fontSize: 16,fontWeight: 'bold',},});export default App;
Coming Soon…
Quick Links
Legal Stuff