国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

React Native中TabBarIOS的簡(jiǎn)單使用方法示例

2019-11-19 15:10:54
字體:
供稿:網(wǎng)友

前言

大家應(yīng)該都知道,TabBarIOS是RN中自帶的組件,可直接使用,不用引用第三方組件,下面講解TabBarIOS的使用方法,話不多說了,來一起看看詳細(xì)的介紹吧。

首先看一下效果圖,如下圖所示:


效果圖

看完效果圖再對(duì)代碼進(jìn)行說明.

import React, { Component } from 'react';import { StyleSheet, View, TabBarIOS, NavigatorIOS, Navigator, AppRegistry, Image, TouchableHighlight, Platform,} from 'react-native';//首先導(dǎo)入需要的組件import Home from './home';import About from './about';import Manager from './manager';import Message from './message';//這里是導(dǎo)入需要顯示的頁面export default class Test extends Component { constructor(props){   super(props);   this.state = {    selectedTab:'home',    data:'',    isLoadingShow: false,    title:'首頁',   };  }//設(shè)置一個(gè)初始化默認(rèn)首先顯示首頁componentDidMount() { console.log("++++++++++++++++TabBarIOS測(cè)試+++++++++++++++"); }_selectTab(tabName) { this.setState({  selectedTab: tabName }); }//修改底部Tab名稱,通過狀態(tài)進(jìn)行控制_selectTitle(title) { this.setState({  title: title }); }//修改頂部導(dǎo)航欄的名稱,與Tab名稱的修改是同步的_addNavigator(component, title) { let data = null; if(title === '公告'){  data = this.state.data; } return <NavigatorIOS  style={{flex:1}}  barTintColor='#007AFF'  titleTextColor="#fff"  tintColor="#fff"  translucent={false}  initialRoute={{   component,   title,   passProps:{   data   }  }}  />; }//這里定義了一個(gè)_addNavigator方法,接收兩個(gè)參數(shù)頁面名稱與導(dǎo)航欄title_mainJudge(){  return(   <View style={{flex:1}}>    <TabBarIOS barTintColor="#FFF">    <TabBarIOS.Item     icon={require('../imgs/phone_s.png')}     title="首頁"     selected={this.state.selectedTab === 'home'}     onPress={this._selectTab.bind(this, 'home')}     >     {this._addNavigator(Home, '首頁')}    </TabBarIOS.Item>    <TabBarIOS.Item     title="公告"     icon={require('../imgs/gonggao.png')}     selected={this.state.selectedTab === 'message'}     onPress={this._selectTab.bind(this, 'message')}     >     {this._addNavigator(Message, '公告')}    </TabBarIOS.Item>    <TabBarIOS.Item     title="管理"     icon={require('../imgs/manager.png')}     selected={this.state.selectedTab === 'manager'}     onPress={this._selectTab.bind(this, 'manager')}     >     {this._addNavigator(Manager, '管理')}    </TabBarIOS.Item>    <TabBarIOS.Item     title="關(guān)于"     icon={require('../imgs/about.png')}     selected={this.state.selectedTab === 'about'}     onPress={this._selectTab.bind(this, 'about')}     >     {this._addNavigator(About, '關(guān)于')}    </TabBarIOS.Item>    </TabBarIOS>   </View>    )}//_mainJudge方法是最核心的方法,用于對(duì)底部Tab以及頂部Title的布局,其中調(diào)用了幾個(gè)方法上面已經(jīng)做了說明. render() { return (  <View style={styles.container}>   {this._mainJudge()}  </View> ); }}const styles = StyleSheet.create({ container:{ flex:1, opacity:1 },});

如圖所示,導(dǎo)入的import Manager from './manager';Manager頁面的內(nèi)容就會(huì)顯示在頁面,其余頁面也是同樣的道理.


頁面填充效果圖

通常進(jìn)入這樣一個(gè)頁面都是從登陸頁面跳轉(zhuǎn)到此頁面,或者作為一個(gè)子頁面呈現(xiàn).另一個(gè)好處就是,拿我的項(xiàng)目為例,點(diǎn)擊修改密碼,顯示如下圖所示:


內(nèi)頁效果圖

你會(huì)看到管理會(huì)自動(dòng)移到左邊,title修改為修改密碼.就避免了,每個(gè)頁面都需要定義一個(gè)導(dǎo)航欄產(chǎn)生的冗余代碼.

如果你想自己完成這樣的效果,你只需新建一個(gè)項(xiàng)目,新增一個(gè)頁面,將我的代碼拷貝進(jìn)去即可,注意:我import了四個(gè)頁面,這個(gè)也需要你自己定義,可簡(jiǎn)單創(chuàng)建幾個(gè)頁面嘗試.

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)武林網(wǎng)的支持。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 台北县| 岳西县| 应用必备| 张掖市| 六枝特区| 乡宁县| 株洲市| 延川县| 安仁县| 卢湾区| 轮台县| 和林格尔县| 余姚市| 安丘市| 黄石市| 封丘县| 涪陵区| 新密市| 闽清县| 岳池县| 屯门区| 贵阳市| 方山县| 通渭县| 潜山县| 治县。| 抚宁县| 凤凰县| 临沂市| 定兴县| 即墨市| 台中市| 凌源市| 阿坝县| 岱山县| 武隆县| 浮梁县| 娄烦县| 台中市| 大新县| 怀远县|