react-native-collapsing
v0.0.2
Published
React Native library to generate menu collapsing.
Downloads
53
Readme
React Native: react-native-collapsing
📖 Getting started
$ npm install react-native-collapsing --save
$ react-native link react-native-vector-icons
💻 Usage
import * as React from 'react';
import { StyleSheet, View } from 'react-native';
import Collapsing from 'react-native-collapsing';
export default class App extends React.Component {
constructor(props) {
super(props);
this.state = {
selected: '',
};
}
render() {
return (
<View style={styles.container}>
<Collapsing
selected={this.state.selected}
title="Primo gruppo"
background="#22252A"
backgroundBarNormal="#2D3035"
backgroundBarFocus="#2D3035"
iconBarNameNormal="videogame-asset"
iconBarNameFocus="book"
iconBarColorNormal="#1194ff"
iconBarColorFocus="#ffb600"
textBarColorNormal="#1194ff"
textBarColorFocus="#ffb600"
iconBarSize={25}
showOnStart={true}
animateIconNameNormal="chevron-down"
animateIconNameFocus="chevron-up"
animateIconColorNormal="#1194ff"
animateIconColorFocus="#ffb600"
badgeText="100"
badgeColor="#fff"
badgeBackground="#1194ff"
badgeRadius={4}
badgeFunction={e => {
return e > 99 ? '99+' : e;
}}
onPress={e => {
this.setState({ selected: e.name });
console.log('1)' + this.state.selected);
}}
menu={[
{
name: 'sub0',
title: 'Home page',
icon: 'home',
colorText: '#fff',
colorTextFocus: '#f2a307',
colorIcon: '#c1c1c1',
colorIconFocus: '#0480CB',
background: 'transparent',
backgroundFocus: '#1E2125',
badgeText: '1000',
badgeColor: '#fff',
badgeBackground: '#1194ff',
badgeRadius: 4,
},
{
name: 'sub1',
title: 'Book',
icon: 'book',
colorText: '#fff',
colorTextFocus: '#f9041d',
colorIcon: '#fff',
colorIconFocus: '#f9041d',
//background: '#1194ff',
backgroundFocus: '#1E2125',
},
{
type: 'menu',
name: 'sub11',
title: 'Movie',
icon: 'film',
colorText: '#fff',
colorTextFocus: '#0480CB',
colorIcon: '#fff',
colorIconFocus: '#0480CB',
//background: '#1194ff',
backgroundFocus: '#1E2125',
},
]}
/>
<Collapsing
selected={this.state.selected}
iconBarNameNormal="videogame-asset"
iconBarNameFocus="videogame-asset"
iconBarColorNormal="#0480CB"
title="Secondo gruppo"
color="#4CAF50"
showOnStart={false}
animateIconNameNormal="chevron-down"
animateIconNameFocus="chevron-up"
onPress={e => {
this.setState({ selected: e.name });
console.log('2)' + this.state.selected);
}}
menu={[
{
name: 'sub2',
title: 'Movie',
icon: 'home',
},
{
name: 'sub3',
title: 'Tv',
icon: 'film',
},
]}
/>
<Collapsing
selected={this.state.selected}
title="Terzo gruppo"
showOnStart={true}
onPress={e => {
this.setState({ selected: e.name });
console.log('2)' + this.state.selected);
}}
menu={[
{
name: 'sub4',
title: 'Theater',
},
{
name: 'sub5',
title: 'Opera',
icon: 'film',
},
]}
/>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#ecf0f1',
marginTop: 24,
},
});
💡 Props
| Prop | Type | Default | Note |
| ----------------- | ---------- | ------- | ---------------------------------------------------------------------------------------------------------- |
| selected
| string
| | Indicates the selected item.
| title
| string
| | Menu title.
| background
| string
| | Menu background color.
| backgroundBarNormal
| string
| | Background color of the menu title, when the menu is in normal state.
| backgroundBarFocus
| string
| | Background color of the menu title, when the menu is in focus state.
| iconBarNameNormal
| MaterialIcons
| | Menu name icon, when the menu is in normal state.
| iconBarNameFocus
| MaterialIcons
| | Menu name icon, when the menu is in focus state.
| iconBarColorNormal
| string
| | Menu color icon, when the menu is in normal state.
| iconBarColorFocus
| string
| | Menu color icon, when the menu is in focus state.
| iconBarSize
| number
| | Icon size.
| textBarColorNormal
| string
| | Menu color text, when the menu is in normal state.
| textBarColorFocus
| string
| | Menu color text, when the menu is in focus state.
| showOnStart
| bool
| false
| Indicates whether the menu is normal or focus.
| animateIconNameNormal
| FontAwesome
| | Menu name animate icon, when the menu is in normal state.
| animateIconNameFocus
| FontAwesome
| | Menu name animate icon, when the menu is in focus state.
| animateIconColorNormal
| string
| | Menu color animate icon, when the menu is in normal state.
| animateIconSize
| number
| | Animated icon size.
| iconBarSize
| number
| | Menu title icon, when the menu is in normal state.
| badgeText
| string
| | Badge text.
| badgeColor
| string
| | Color of the badge text.
| badgeBackground
| string
| | Background color of the badge.
| badgeRadius
| number
| | Badge radius.
| badgeFunction
| function
| | Use in case you want to define a function, for the badgeText attribute.
| onPress
| function
| | It is used to recover the pressure event.
| rippleColor
| string
| | Ripple color.
| menu
| array
| | It is used to define the menu.
Menu
| Prop | Type | Default | Note |
| ----------------- | ---------- | ------- | ---------------------------------------------------------------------------------------------------------- |
| name
| string
| | Unique name to assign to the item.
| title
| string
| | Title of the element.
| icon
| string
| FontAwesome
| Icon name.
| colorText
| string
| #000000
| Text color.
| colorTextFocus
| string
| #607D8B
| Text color status focus.
| colorIcon
| string
| #000000
| Icon color.
| colorIconFocus
| string
| #607D8B
| Icon color status focus.
| background
| string
| transparent
| Background element.
| backgroundFocus
| string
| #e8e8e8
| Background element status focus.
| badgeText
| string
| | Text badge.
| badgeColor
| string
| | Text color badge.
| badgeBackground
| string
| | Background badge.
| badgeRadius
| number
| | Badge radius.
📜 License
This library is provided under the Apache License.