/** * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * The examples provided by Facebook are for non-commercial testing and * evaluation purposes only. * * Facebook reserves all rights not expressly granted. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * * @flow */ 'use strict'; var React = require('react'); var ReactNative = require('react-native'); var { Slider, Text, StyleSheet, View, } = ReactNative; class SliderExample extends React.Component { static defaultProps = { value: 0, }; state = { value: this.props.value, }; render() { return ( {this.state.value && +this.state.value.toFixed(3)} this.setState({value: value})} /> ); } } class SlidingCompleteExample extends React.Component { state = { slideCompletionValue: 0, slideCompletionCount: 0, }; render() { return ( this.setState({ slideCompletionValue: value, slideCompletionCount: this.state.slideCompletionCount + 1})} /> Completions: {this.state.slideCompletionCount} Value: {this.state.slideCompletionValue} ); } } var styles = StyleSheet.create({ slider: { height: 10, margin: 10, }, text: { fontSize: 14, textAlign: 'center', fontWeight: '500', margin: 10, }, }); exports.title = ''; exports.displayName = 'SliderExample'; exports.description = 'Slider input for numeric values'; exports.examples = [ { title: 'Default settings', render(): React.Element { return ; } }, { title: 'Initial value: 0.5', render(): React.Element { return ; } }, { title: 'minimumValue: -1, maximumValue: 2', render(): React.Element { return ( ); } }, { title: 'step: 0.25', render(): React.Element { return ; } }, { title: 'onSlidingComplete', render(): React.Element { return ( ); } }, { title: 'Custom min/max track tint color', platform: 'ios', render(): React.Element { return ( ); } }, { title: 'Custom thumb image', platform: 'ios', render(): React.Element { return ; } }, { title: 'Custom track image', platform: 'ios', render(): React.Element { return ; } }, { title: 'Custom min/max track image', platform: 'ios', render(): React.Element { return ( ); } }, ];