Files

76 lines
1.4 KiB
JavaScript
Raw Permalink Normal View History

2017-12-07 16:24:50 +01:00
import {
Menu,
2017-12-19 11:08:34 +01:00
MenuProvider,
2017-12-07 16:24:50 +01:00
MenuOptions,
MenuTrigger,
renderers,
} from 'react-native-popup-menu';
import { Text, View, StyleSheet } from 'react-native';
import React from 'react';
const { Popover } = renderers
const MyPopover = () => (
<Menu renderer={Popover} rendererProps={{ preferredPlacement: 'bottom' }}>
2017-12-07 16:24:50 +01:00
<MenuTrigger style={styles.menuTrigger} >
<Text style={styles.triggerText}>{'\u263A'}</Text>
</MenuTrigger>
<MenuOptions style={styles.menuOptions}>
<Text style={styles.contentText}>Hello world!</Text>
2017-12-07 16:24:50 +01:00
</MenuOptions>
</Menu>
)
const Row = () => (
<View style={styles.row}>
<MyPopover />
<MyPopover />
<MyPopover />
<MyPopover />
<MyPopover />
<MyPopover />
</View>
)
const PopoverExample = () => (
2017-12-19 11:08:34 +01:00
<MenuProvider style={styles.container} customStyles={{ backdrop: styles.backdrop }}>
2017-12-07 16:24:50 +01:00
<Row />
<Row />
<Row />
<Row />
<Row />
<Row />
<Row />
<Row />
2017-12-19 11:08:34 +01:00
</MenuProvider>
2017-12-07 16:24:50 +01:00
);
const styles = StyleSheet.create({
container: {
padding: 10,
flexDirection: 'column',
justifyContent: 'space-between',
backgroundColor: 'rgba(0, 0, 0, 0.05)',
2017-12-07 16:24:50 +01:00
},
row: {
flexDirection: 'row',
justifyContent: 'space-between',
},
backdrop: {
},
menuOptions: {
padding: 50,
},
menuTrigger: {
padding: 5,
},
triggerText: {
fontSize: 20,
},
contentText: {
fontSize: 18,
},
2017-12-07 16:24:50 +01:00
})
export default PopoverExample;