-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.android.js
117 lines (108 loc) · 2.52 KB
/
index.android.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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
/**
* Sample React Native App
* https://github.com/facebook/react-native
* @flow
*/
import React, { Component } from 'react';
import {
AppRegistry,
StyleSheet,
Text,
View,
Modal,
TouchableOpacity,
} from 'react-native';
export default class RNModalCrash extends Component {
constructor() {
super();
this.state = {
modalVisible: false,
};
}
setModalVisibility(modalVisible) {
this.setState({ modalVisible });
}
onRequestClose = () => {
this.setModalVisibility(false);
}
onShowModalPress = () => {
this.setModalVisibility(true);
}
onModalButtonPress = () => {
this.setModalVisibility(false);
}
render() {
const { modalVisible } = this.state;
return (
<View style={styles.container}>
<Text style={styles.welcome}>
Welcome to React Native!
</Text>
<Text style={styles.instructions}>
To get started, edit index.android.js
</Text>
<Text style={styles.instructions}>
Double tap R on your keyboard to reload,{'\n'}
Shake or press menu button for dev menu
</Text>
<TouchableOpacity onPress={this.onShowModalPress} style={styles.showModalButton}>
<Text>Press for modal</Text>
</TouchableOpacity>
<Modal
visible={modalVisible}
onRequestClose={this.onRequestClose}
>
<View style={styles.modalContainer}>
<View style={styles.boxStyle}>
<TouchableOpacity onPress={this.onModalButtonPress}>
<Text style={styles.modalButton}>OK</Text>
</TouchableOpacity>
</View>
</View>
</Modal>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
},
welcome: {
fontSize: 20,
textAlign: 'center',
margin: 10,
},
instructions: {
textAlign: 'center',
color: '#333333',
marginBottom: 5,
},
showModalButton: {
marginTop: 20,
padding: 20,
backgroundColor: '#00aae7',
borderRadius: 3,
},
modalContainer: {
flex: 1,
justifyContent: 'center',
backgroundColor: 'rgba(0, 0, 0, 0.5)',
},
boxStyle: {
padding: 20,
alignItems: 'center',
alignSelf: 'stretch',
marginHorizontal: 20,
borderRadius: 2,
backgroundColor: 'white',
elevation: 10,
},
modalButton: {
padding: 10,
},
});
AppRegistry.registerComponent('RNModalCrash', () => RNModalCrash);