forked from facebook/react-native
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSegmentedControlExampleComponents.js
More file actions
114 lines (104 loc) · 2.58 KB
/
SegmentedControlExampleComponents.js
File metadata and controls
114 lines (104 loc) · 2.58 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
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
/**
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @format
* @flow strict-local
*/
'use strict';
import * as React from 'react';
import {SegmentedControlIOS, Text, View, StyleSheet} from 'react-native';
export function BasicSegmentedControlExample(): React.Node {
return (
<View>
<View style={{marginBottom: 10}}>
<SegmentedControlIOS values={['One', 'Two']} />
</View>
<View>
<SegmentedControlIOS values={['One', 'Two', 'Three', 'Four', 'Five']} />
</View>
</View>
);
}
export function PreSelectedSegmentedControlExample(): React.Node {
return (
<View>
<View>
<SegmentedControlIOS values={['One', 'Two']} selectedIndex={0} />
</View>
</View>
);
}
export function MomentarySegmentedControlExample(): React.Node {
return (
<View>
<View>
<SegmentedControlIOS values={['One', 'Two']} momentary={true} />
</View>
</View>
);
}
export function DisabledSegmentedControlExample(): React.Node {
return (
<View>
<View>
<SegmentedControlIOS
enabled={false}
values={['One', 'Two']}
selectedIndex={1}
/>
</View>
</View>
);
}
export function ColorSegmentedControlExample(): React.Node {
return (
<View>
<View style={{marginBottom: 10}}>
<SegmentedControlIOS
tintColor="#ff0000"
values={['One', 'Two', 'Three', 'Four']}
selectedIndex={0}
/>
</View>
<View>
<SegmentedControlIOS
tintColor="#00ff00"
values={['One', 'Two', 'Three']}
selectedIndex={1}
/>
</View>
</View>
);
}
export function EventSegmentedControlExample(): React.Node {
const [selectedIndex, setSelectedIndex] = React.useState(undefined);
const [value, setValue] = React.useState('Not selected');
const values = ['One', 'Two', 'Three'];
return (
<View>
<Text style={styles.text}>Value: {value}</Text>
<Text style={styles.text}>Index: {selectedIndex}</Text>
<SegmentedControlIOS
values={values}
selectedIndex={selectedIndex}
onChange={event => {
setSelectedIndex(event.nativeEvent.selectedSegmentIndex);
}}
onValueChange={changedValue => {
setValue(changedValue);
}}
/>
</View>
);
}
const styles = StyleSheet.create({
text: {
fontSize: 14,
textAlign: 'center',
fontWeight: '500',
margin: 10,
},
});