React Native組件Switch類似於iOS中的UISwitch;組件Slide類似於iOS中UIslider,組件Picker類似於iOS的UIPickerView。他們的使用方法和相關屬性如下:
/** * Sample React Native App * https://github.com/facebook/react-native * 周少停 2016-09-28 * Switch 開關組件 Picker 選擇器 和slide 進度條 */ import React, { Component } from 'react'; import { AppRegistry, StyleSheet, Text, View, Switch, Picker, Slider } from 'react-native'; class Project extends Component { // 構造方法 相當於ES5的getInitialState方法 constructor(props) { super(props); // 初始狀態 this.state = { isOn:false, pickerLabel:'蘋果', slideNum:0 }; } render() { return ( <View style={styles.container}> {/*--------------------------Switch-------------------------------*/} <Switch // disabled={true}//是否可以響應,默認為false,true是無法點擊 onTintColor='blue' //開啟時的背景顏色 thumbTintColor='yellow' //開關上原形按鈕的顏色 tintColor='black' //關閉時背景顏色 onValueChange={() => this.setState({isOn: !this.state.isOn})} //當狀態值發生變化值回調 value={this.state.isOn == true}//默認狀態 /> {/*--------------------------Picker-------------------------------*/} <Picker style={{width:100,height:100}} selectedValue = {this.state.pickerLabel} onValueChange = {(e) => this.setState({pickerLabel:e})}> <Picker.Item label="蘋果" value="apple" /> <Picker.Item label="iPhone" value="手機" /> <Picker.Item label="蘋果1" value="apple1" /> <Picker.Item label="iPhone1" value="手機1" /> <Picker.Item label="蘋果2" value="apple2" /> <Picker.Item label="iPhone2" value="手機2" /> <Picker.Item label="蘋果3" value="apple3" /> <Picker.Item label="iPhone3" value="手機3" /> </Picker> {/*--------------------------Slide-------------------------------*/} <Slider // {...this.pops} //取到所有的該屬性 // disabled = {true} //是否可滑動 // trackImage = {require('./img/1.jpg')} 滑道背景圖片 // maximumTrackImage = {require('./img/2.jpg')} //滑道右側側背景圖片 // minimumTrackImage = {require('./img/3.jpg')}//滑道左側背景圖片 // value = {10} //滑塊的初始位置 minimumValue = {0} //最小之 maximumValue = {100} //最大值 step = {2} //步長,在minimumValue和maximumValue之間 maximumTrackTintColor = 'red' //滑道右側的滑道顏色 minimumTrackTintColor = 'yellow' //滑道左側的滑道顏色 onSlidingComplete = {(e)=>this.slideDone(e)} //停止滑動時調用,可以把當前值傳過去 onValueChange = {(e)=>this.setState({slideNum:e})} //滑動時就調用,可以把當前值傳過去 style={{marginTop:200,width:200}} /> <Text>Slide當前值:{this.state.slideNum}</Text> </View> ); } slideDone(e){ alert(e); } } const styles = StyleSheet.create({ container: { marginTop:30, alignItems:'center' } }); AppRegistry.registerComponent('Project', () => Project);