/** * Copyright (c) 2015-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * * @format * @flow */ 'use strict'; var React = require('react'); var ReactNative = require('react-native'); var {SegmentedControlIOS, Text, View, StyleSheet} = ReactNative; class BasicSegmentedControlExample extends React.Component<{}> { render() { return ( ); } } class PreSelectedSegmentedControlExample extends React.Component<{}> { render() { return ( ); } } class MomentarySegmentedControlExample extends React.Component<{}> { render() { return ( ); } } class DisabledSegmentedControlExample extends React.Component<{}> { render() { return ( ); } } class ColorSegmentedControlExample extends React.Component<{}> { render() { return ( ); } } class EventSegmentedControlExample extends React.Component< {}, $FlowFixMeState, > { state = { values: ['One', 'Two', 'Three'], value: 'Not selected', selectedIndex: undefined, }; render() { return ( Value: {this.state.value} Index: {this.state.selectedIndex} ); } _onChange = event => { this.setState({ selectedIndex: event.nativeEvent.selectedSegmentIndex, }); }; _onValueChange = value => { this.setState({ value: value, }); }; } var styles = StyleSheet.create({ text: { fontSize: 14, textAlign: 'center', fontWeight: '500', margin: 10, }, }); exports.title = ''; exports.displayName = 'SegmentedControlExample'; exports.description = 'Native segmented control'; exports.examples = [ { title: 'Segmented controls can have values', render(): React.Element { return ; }, }, { title: 'Segmented controls can have a pre-selected value', render(): React.Element { return ; }, }, { title: 'Segmented controls can be momentary', render(): React.Element { return ; }, }, { title: 'Segmented controls can be disabled', render(): React.Element { return ; }, }, { title: 'Custom colors can be provided', render(): React.Element { return ; }, }, { title: 'Change events can be detected', render(): React.Element { return ; }, }, ];