forked from software-mansion/react-native-gesture-handler
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
77 lines (72 loc) · 2.15 KB
/
index.js
File metadata and controls
77 lines (72 loc) · 2.15 KB
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
import React, { Component } from 'react';
import { StyleSheet, Text, View, Platform } from 'react-native';
import {
DrawerLayoutAndroid,
createNativeWrapper,
} from 'react-native-gesture-handler';
import ViewPagerAndroid from '@react-native-community/viewpager';
const WrappedViewPagerAndroid = createNativeWrapper(ViewPagerAndroid, {
disallowInterruption: true,
});
const Page = ({ backgroundColor, text }) =>
<View style={[styles.page, { backgroundColor }]}>
<Text style={styles.pageText}>
{text}
</Text>
</View>;
export default class Example extends Component {
render() {
if (Platform.OS !== 'android') {
return (
<Text>Sorry, this is a demo of android-only native components</Text>
);
}
const navigationView = (
<View style={{ flex: 1, backgroundColor: '#fff' }}>
<Text style={{ margin: 10, fontSize: 15, textAlign: 'left' }}>
I'm in the Drawer!
</Text>
</View>
);
return (
<WrappedViewPagerAndroid style={styles.container}>
<View>
<DrawerLayoutAndroid
drawerWidth={200}
drawerPosition={DrawerLayoutAndroid.positions.Left}
renderNavigationView={() => navigationView}>
<Page backgroundColor="gray" text="First 🙈" />
</DrawerLayoutAndroid>
</View>
<Page backgroundColor="yellow" text="Second 🙉" />
<Page backgroundColor="blue" text="Third 🙊" />
<View>
<DrawerLayoutAndroid
drawerWidth={200}
drawerPosition={DrawerLayoutAndroid.positions.Right}
renderNavigationView={() => navigationView}>
<Page backgroundColor="blue" text="Fourth 😎" />
</DrawerLayoutAndroid>
</View>
</WrappedViewPagerAndroid>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
paddingTop: Platform.OS === 'ios' ? 20 : 0,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
},
page: {
...StyleSheet.absoluteFillObject,
alignItems: 'center',
justifyContent: 'center',
},
pageText: {
fontSize: 21,
color: 'white',
},
});