-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.android.js
81 lines (76 loc) · 2.02 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
/**
* Sample React Native App
* https://github.com/facebook/react-native
*/
import React, { Component } from 'react';
import {
AppRegistry,
Image,
ListView,
StyleSheet,
BackAndroid,
Navigator,
Text,
TouchableOpacity,
View,
} from 'react-native';
var HomePage = require('./src/home_page')
var SplashPage = require('./src/splash_page')
var ViewTopic = require('./src/view_topic')
var _navigator;
BackAndroid.addEventListener('hardwareBackPress', () => {
if (_navigator && _navigator.getCurrentRoutes().length > 1) {
_navigator.pop();
return true;
}
return false;
});
class App extends Component {
render() {
return (
<Navigator
initialRoute={{id: 'SplashPage', name: 'Index'}}
renderScene={this.renderScene.bind(this)}
configureScene={(route) => {
if (route.sceneConfig) {
return route.sceneConfig;
}
return Navigator.SceneConfigs.FloatFromRight;
}} />
);
}
renderScene(route, navigator) {
var {id, bundle} = route;
_navigator = navigator
switch (id){
case "SplashPage":
return (
<SplashPage
navigator={navigator}/>
);
case "HomePage":
return (
<HomePage
navigator={navigator} />
);
case "ViewTopic":
return (
<ViewTopic
navigator={navigator} bundle={bundle} />
)
default:
//return this.noRoute(navigator);
}
}
noRoute(navigator) {
return (
<View style={{flex: 1, alignItems: 'stretch', justifyContent: 'center'}}>
<TouchableOpacity style={{flex: 1, alignItems: 'center', justifyContent: 'center'}}
onPress={() => navigator.pop()}>
<Text style={{color: 'red', fontWeight: 'bold'}}>请在 index.js çš„ renderScene ä¸é…置这个页é¢çš„路由</Text>
</TouchableOpacity>
</View>
);
}
}
AppRegistry.registerComponent('AwesomeProject', () => App);