美文网首页React Native开发
React-Native TabBarIOS 学习笔记

React-Native TabBarIOS 学习笔记

作者: 小黑Swift | 来源:发表于2016-08-09 21:09 被阅读175次

    React Native 官方文档

    React Native 开源社区

    TabBarIOS常见的属性

    ** View** 的所有属性都可使用
    ** barTintColor ** 背景颜色
    ** tintColor ** 被选中图标的颜色
    ** translucent** 半透明的效果

    TabBarIOS.Item常见的属性

    ** badge** 类似角标
    ** icon Image.propTypes.source Tab**
    ** onPress **
    selected
    **electedIcon Image.propTypes.source **
    **style **
    **systemIcon ** 系统默认图标
    enum('bookmarks','contacts','downloads','favorites','featured','history','more','most-recent','most-viewed','recents','search','top-rated')
    ** title **

    Simulator Screen Shot.png
      import React, { Component } from 'react';
      import {
        AppRegistry, //负责入口组件
        StyleSheet, //负责创建样式表
        View,
        Text,
        Image,
        TabBarIOS
      } from 'react-native';
    
      var ViewController = React.createClass({
        
          //设置初始值
          getInitialState(){
            return{
              //默认被选中的tabBArItem
              selectedTabBarItem: 'home'
            }
          },
    
        render() {
          return (
            <View style={styles.container}>
            {/*导航栏视图*/}
             <View style={styles.headerStyle}>
               <Text style={styles.navTextStyle}>Tab选项卡切换</Text>
             </View>
    
          {/*选项卡*/}
          <TabBarIOS
              barTintColor='black'
              translucent = {true}
              tintColor = 'white'
            //  style={{width:375}}
          >
    
          {/*第1块*/}
          <TabBarIOS.Item
              systemIcon="contacts"
              badge="3"
              selected={this.state.selectedTabBarItem == 'first'}
              onPress={()=>{
                this.setState({
                  selectedTabBarItem: 'first'
                })
              }}
              >
              <View style={styles.commonViewSytle}>
                  <Text style={styles.contentStyle}>第一块</Text>
              </View>
          </TabBarIOS.Item>
    
          {/*第2块*/}
          <TabBarIOS.Item
              systemIcon="bookmarks"
              selected={this.state.selectedTabBarItem == 'second'}
              onPress={()=>{
                this.setState({
                  selectedTabBarItem: 'second'
                })
              }}
            >
            <View style={[styles.commonViewSytle,{backgroundColor: '#FFCD5E'}]}>
                  <Text style={styles.contentStyle}>第二块</Text>
            </View>
          </TabBarIOS.Item>
    
          {/*第3块*/}
          <TabBarIOS.Item
              systemIcon="downloads"
              selected={this.state.selectedTabBarItem == 'third'}
              onPress={()=>{
                this.setState({
                  selectedTabBarItem: 'third'
                })
              }}
            >
            <View style={[styles.commonViewSytle,{backgroundColor:'#E54341'}]}>
                  <Text style={styles.contentStyle}>第三块</Text>
            </View>
          </TabBarIOS.Item>
    
          {/*第4块*/}
          <TabBarIOS.Item
              systemIcon="search"
              selected={this.state.selectedTabBarItem == 'fourth'}
              onPress={()=>{
                this.setState({
                  selectedTabBarItem: 'fourth'
                })
              }}
            >
            <View style={[styles.commonViewSytle,{backgroundColor:'#488DEE'}]}>
                  <Text style={styles.contentStyle}>第四块</Text>
            </View>
          </TabBarIOS.Item>
    
            </TabBarIOS>
            </View>
          );
        }
      });
    
      //设置风格样式
      const styles = StyleSheet.create({
        container: {
          flex: 1,
          backgroundColor: '#F5FCFF',
        },
    
        headerStyle: {
          flexDirection: 'row',
          height: 64,
          backgroundColor: '#ECECEC',
          alignItems: 'center',
          justifyContent: 'center'
        },
    
        contentStyle: {
          fontSize: 25,
          color: 'white'
        },
    
        navTextStyle: {
          marginTop: 10,
          color: 'black',
          fontSize: 17
        //  fontWeight: 'bold'
        },
    
        commonViewSytle: {
          flex: 1,
          alignItems: 'center',
          justifyContent: 'center',
          backgroundColor:'green'
        }
      });
    
      AppRegistry.registerComponent('HelloWorld', () => ViewController);

    相关文章

      网友评论

        本文标题:React-Native TabBarIOS 学习笔记

        本文链接:https://www.haomeiwen.com/subject/ihmdsttx.html