-
Notifications
You must be signed in to change notification settings - Fork 4
/
App.js
82 lines (68 loc) · 1.52 KB
/
App.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
/**
* Sample React Native App
* https://github.com/facebook/react-native
*
* @format
* @flow strict-local
*/
import React from 'react';
import {
SafeAreaView,
StyleSheet,
ScrollView,
Image,
TouchableOpacity,
View,
Text,
} from 'react-native';
import SidemenuAnimation from './SideMenuAnimation'
import Sidemenu from './Sidemenu'
export default class App extends React.Component
{
constructor()
{
super()
this.state={
screenName : 'Home'
}
}
onMenuAction()
{
this.menu.openMenu()
}
render()
{
const {screenName} = this.state
return(
<View style = {styles.mainView}>
<SidemenuAnimation
ref={menu => this.menu = menu}
menuSize={150}
menuView={<Sidemenu onSelectMenu={(name)=>{
this.setState({screenName:name})
this.menu.openMenu()
}
}/>}
>
<TouchableOpacity onPress={()=>{
this.onMenuAction()
}} style = {styles.menuView}>
<Image source={require('./assets/menu.png')} style = {styles.menuIcon}/>
</TouchableOpacity>
<View style = {styles.innerView}>
<Text style = {styles.text}>{screenName}</Text>
</View>
</SidemenuAnimation>
</View>
)
}
}
const styles = StyleSheet.create({
mainView : {flex:1,
},
text:{textAlign:'center',alignSelf:'center',fontWeight:'900',fontSize:20},
innerView:{flex:1, justifyContent:'center',
alignItems:'center'},
menuView:{marginLeft:20,marginTop:40},
menuIcon:{height:30,width:30}
})