<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        react-native-tab-navigator組件的基本使用示例代碼

        來源:懂視網 責編:小采 時間:2020-11-27 22:30:41
        文檔

        react-native-tab-navigator組件的基本使用示例代碼

        react-native-tab-navigator組件的基本使用示例代碼:要做的效果很簡單,如下圖所示: 使用基本教程 1.引入組件 import TabNavigator from 'react-native-tab-navigator'; Github上的地址 2.render方法中返回: render() { return ( <View style={styles.con
        推薦度:
        導讀react-native-tab-navigator組件的基本使用示例代碼:要做的效果很簡單,如下圖所示: 使用基本教程 1.引入組件 import TabNavigator from 'react-native-tab-navigator'; Github上的地址 2.render方法中返回: render() { return ( <View style={styles.con

        要做的效果很簡單,如下圖所示:

        使用基本教程

        1.引入組件

        import TabNavigator from 'react-native-tab-navigator';

        Github上的地址

        2.render方法中返回:

        render() { 
         return ( 
         <View style={styles.container} > 
         <TabNavigator> 
         <TabNavigator.Item 
         selected={this.state.selectedTab === '電影'} 
         title="電影" 
         titleStyle={styles.tabText} 
         selectedTitleStyle={styles.selectedTabText} 
         renderIcon={() => <Image style={styles.icon} source={require("../images/movie_gray.png")} />} 
         renderSelectedIcon={() => <Image style={styles.icon} source={require("../images/movie_red.png")} />} 
         onPress={() => this.setState({ selectedTab: '電影' })}> 
         <MoviePage/> // 這里放入頁面組件
         </TabNavigator.Item> 
         <TabNavigator.Item 
         selected={this.state.selectedTab === '音樂'} 
         title="音樂" 
         titleStyle={styles.tabText} 
         selectedTitleStyle={styles.selectedTabText} 
         renderIcon={() => <Image style={styles.icon} source={require("../images/music_gray.png")} />} 
         renderSelectedIcon={() => <Image style={styles.icon} source={require("../images/music_red.png")} />} 
         onPress={() => this.setState({ selectedTab: '音樂' })}> 
         <MusicPage /> 
         </TabNavigator.Item> 
         <TabNavigator.Item 
         selected={this.state.selectedTab === '圖書'} 
         title="圖書" 
         titleStyle={styles.tabText} 
         selectedTitleStyle={styles.selectedTabText} 
         renderIcon={() => <Image style={styles.icon} source={require("../images/book_gray.png")} />} 
         renderSelectedIcon={() => <Image style={styles.icon} source={require("../images/book_red.png")} />} 
         onPress={() => this.setState({ selectedTab: '圖書' })}> 
         <BookPage /> 
         </TabNavigator.Item> 
         <TabNavigator.Item 
         selected={this.state.selectedTab === '我的'} 
         title="我的" 
         titleStyle={styles.tabText} 
         selectedTitleStyle={styles.selectedTabText} 
         renderIcon={() => <Image style={styles.icon} source={require("../images/my_gray.png")} />} 
         renderSelectedIcon={() => <Image style={styles.icon} source={require("../images/my_red.png")} />} 
         onPress={() => this.setState({ selectedTab: '我的' })}> 
         <MyPage /> 
         </TabNavigator.Item> 
         </TabNavigator> 
         </View> 
         ); 
         }
        

        引入頁面組件:

        import MoviePage from './pages/MoviePage';
        import MusicPage from './pages/MusicPage';
        import BookPage from './pages/BookPage';
        import MyPage from './pages/MyPage';

        設置state狀態機:

        constructor(props){
         super(props);
         this.state = {
         selectedTab:'電影'
         }
        }

        引入基本樣式:

        const styles = StyleSheet.create({
         container:{
         flex:1,
         backgroundColor:'#fff'
         },
         tabText:{
         color:'#000000',
         fontSize:10
         },
         selectedTabText:{
         color:'#D81E06'
         },
         icon:{
         width:20,
         height:20
         }
        })
        

        這個時候效果已經出來了,我們繼續抽象組件:

        將每一個欄目抽出來放到一個統一的方法中:

        _renderTabarItems(selectedTab,icon,selectedIcon,Component){
         return (
         <TabNavigator.Item
         selected={this.state.selectedTab === selectedTab} 
         title={selectedTab} 
         titleStyle={styles.tabText} 
         selectedTitleStyle={styles.selectedTabText} 
         renderIcon={() => <Image style={styles.icon} source={icon} />} 
         renderSelectedIcon={() => <Image style={styles.icon} source={selectedIcon} />} 
         onPress={() => this.setState({ selectedTab: selectedTab })}
         >
         <Component />
         </TabNavigator.Item>
         )
        
         }
        
        

        此時,render方法中就直接引用四個方法即可:

        render() {
         return (
         <View style={styles.container}>
         <TabNavigator>
         {this._renderTabarItems('電影',require('../img/movie_gray.png'),require('../img/movie_red.png'),MoviePage)}
         {this._renderTabarItems('音樂',require('../img/music_gray.png'),require('../img/music_red.png'),MusicPage)}
         {this._renderTabarItems('圖書',require('../img/book_gray.png'),require('../img/book_red.png'),BookPage)}
         {this._renderTabarItems('我的',require('../img/my_gray.png'),require('../img/my_red.png'),MyPage)}
         </TabNavigator>
         </View>
         );
         }
        

        至此,已經初步完成。

        組件的屬性集合:

        Props

        TabNavigator props

        prop default type description
        sceneStyle inherited object (style) 場景樣式,即Tab頁容器的樣式,可按View的style設置
        tabBarStyle inherited object (style) TabBar的樣式,基本也可按照普通的style寫法進行設置
        tabBarShadowStyle inherited object (style) TabBar陰影的樣式,不過對于扁平化的設計,這個屬性應該用處不大
        hidesTabTouch false boolean bool類型,即是否隱藏Tab按鈕的按下效果

        TabNavigator.Item props

        prop default type description
        renderIcon none function 即圖標,但為function類型,所以這里需要用到Arrow Function
        renderSelectedIcon none function 選中狀態的圖標,非必填,也是function類型
        badgeText none string or number 即Tab右上角的提示文字,可為String或Number,類似QQ中Tab右上角的消息提示,非必填
        renderBadge none function 提示角標渲染方式,function類型,類似render的使用,非必填
        title none string 標題,String類型,非必填
        titleStyle inherited style 標題樣式,style類型,非必填
        selectedTitleStyle none style 選中標題樣式,style類型,非必填
        tabStyle inherited style styling for tab
        selected none boolean bool型,是否選中狀態,可使用setState進行控制,默認false
        onPress none function 即點擊事件的回調函數,這里需要控制的是state
        allowFontScaling false boolean bool型,是否允許字體縮放,默認false

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        react-native-tab-navigator組件的基本使用示例代碼

        react-native-tab-navigator組件的基本使用示例代碼:要做的效果很簡單,如下圖所示: 使用基本教程 1.引入組件 import TabNavigator from 'react-native-tab-navigator'; Github上的地址 2.render方法中返回: render() { return ( <View style={styles.con
        推薦度:
        標簽: 代碼 的使用 tab
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 野花高清在线观看免费3中文| 一级毛片免费观看不卡的| 无码人妻一区二区三区免费| 亚洲人成在线播放网站岛国| 精品成人免费自拍视频| 亚洲gv白嫩小受在线观看| 日本免费电影一区二区| 亚洲成人精品久久| 19禁啪啪无遮挡免费网站| 亚洲三级在线免费观看| 最好免费观看韩国+日本 | 扒开双腿猛进入爽爽免费视频| 亚洲一级片在线观看| 日本免费人成黄页网观看视频 | 国产午夜影视大全免费观看| 看免费毛片天天看| 日韩一卡2卡3卡4卡新区亚洲| 人人玩人人添人人澡免费| 亚洲精品自在线拍| 成年女人免费视频播放77777| 国产亚洲美女精品久久| 国产精品亚洲产品一区二区三区 | 久久受www免费人成_看片中文| 99999久久久久久亚洲| 国产99视频精品免费视频7| 大妹子影视剧在线观看全集免费| 国产精品亚洲成在人线| 免费观看美女用震蛋喷水的视频| 亚洲二区在线视频| 亚洲?V无码乱码国产精品| 免费毛片a线观看| 亚洲一区二区无码偷拍| 国产日产亚洲系列最新| **毛片免费观看久久精品| 丰满亚洲大尺度无码无码专线 | 免费一级毛片无毒不卡| 亚洲1区1区3区4区产品乱码芒果 | h在线观看视频免费网站| 精品久久久久久亚洲中文字幕 | 亚洲色精品VR一区区三区| MM131亚洲国产美女久久|