react-native-scrollable-tab-view demo

TarBar 可使用跨平臺(tái)的 scrollable-tab-view

tabbar.png

默認(rèn)的 DefaultTabBar 跟我們的樣式不大一樣,所以需要自定義 TabBar
參考網(wǎng)上代碼修改了一下

自定義 TabBar

/* @flow */
import React, { Component } from 'react';
import {
  View,
  Text,
  StyleSheet,
  TouchableOpacity,
  Image
} from 'react-native';

export default class CustomerBar extends Component {
  static propTypes = {
    goToPage: React.PropTypes.func, // 跳轉(zhuǎn)到對(duì)應(yīng)tab的方法
    activeTab: React.PropTypes.number, // 當(dāng)前被選中的tab下標(biāo)
    tabs: React.PropTypes.array, // 所有tabs集合
    tabNames: React.PropTypes.array, // 保存Tab名稱
    tabIcons: React.PropTypes.array, // 默認(rèn)圖標(biāo)
    tabSelectedIcons: React.PropTypes.array, // 選中圖標(biāo),
  }

  render() {
    return (
      <View>
        <View style={{height:1, backgroundColor:'grey'}}></View> // tabbar 頂部加一條橫線
        <View style={styles.tabs}>
            {this.props.tabs.map((tab, i) => this.renderTabOption(tab, i))}
        </View>
      </View>
    );
  }

  renderTabOption(tab, i) {
    const color = this.props.activeTab == i? "green" : "black"; // 判斷i是否是當(dāng)前選中的tab,設(shè)置不同的顏色
    const icon = this.props.activeTab == i ? this.props.tabSelectedIcons[i] : this.props.tabIcons[i];

    return (
        <TouchableOpacity onPress={()=>this.props.goToPage(i)} style={styles.tab} key={i}>
            <View style={styles.tabItem}>
                <Image
                    source={icon}  // 圖標(biāo)
                    style={{height:25}}
                    />
                <Text style={{color: color,marginTop:3, fontSize:12}}>
                    {this.props.tabNames[i]}
                </Text>
            </View>
        </TouchableOpacity>
     );
  }
}

const styles = StyleSheet.create({
    tabs: {
        flexDirection: 'row',
    },

    tab: {
        flex: 1,
        justifyContent: 'center',
        alignItems: 'center',
    },

    tabItem: {
        alignItems: 'center',
    paddingTop:3,
    paddingBottom:3
    },
});
// @flow
import React, {
    Component
} from 'react';
import {
    AppRegistry,
    Text,
    StyleSheet,
    Platform
} from 'react-native';

var ScrollableTabView = require('react-native-scrollable-tab-view');
import CustomerBar from './components/CustomerBar'

var App = React.createClass({
  tabNames: ['互助','憑證','公示','我的'],
  tabIcons:[require('./images/home.png'),require('./images/cert.png'),require('./images/notice.png'),require('./images/profile.png')],
  tabSelectedIcons:[require('./images/home_sel.png'),require('./images/cert_sel.png'),require('./images/notice_sel.png'),require('./images/profile_sel.png')],

  render() {
    return (
      <ScrollableTabView
        tabBarPosition='bottom' // tab 底部顯示
        locked = {true} // 禁止左右滑動(dòng)
        scrollWithoutAnimation = {true} // 切換頁(yè)面時(shí)不顯示動(dòng)畫
        renderTabBar={
          () => <CustomerBar
                  tabNames={this.tabNames}
                  tabIcons = {this.tabIcons}
                  tabSelectedIcons={this.tabSelectedIcons}
         />}>
        <Text style={styles.content}>#Page1</Text>
        <Text style={styles.content}>#Page2</Text>
        <Text style={styles.content}>#Page3</Text>
        <Text style={styles.content}>#Page4</Text>
      </ScrollableTabView>
    );
  }
});

const styles = StyleSheet.create({
  content: {
    marginTop: (Platform.OS === 'ios')? 20 : 0 // IOS 頂部加 20
  }
});

AppRegistry.registerComponent('HelloReact',() => App);

Demo

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市凹髓,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蝙斜,老刑警劉巖简软,帶你破解...
    沈念sama閱讀 218,858評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異碟摆,居然都是意外死亡晃财,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門典蜕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)断盛,“玉大人,你說(shuō)我怎么就攤上這事愉舔「置停” “怎么了?”我有些...
    開封第一講書人閱讀 165,282評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵屑宠,是天一觀的道長(zhǎng)厢洞。 經(jīng)常有香客問(wèn)我,道長(zhǎng)典奉,這世上最難降的妖魔是什么躺翻? 我笑而不...
    開封第一講書人閱讀 58,842評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮卫玖,結(jié)果婚禮上公你,老公的妹妹穿的比我還像新娘。我一直安慰自己假瞬,他們只是感情好陕靠,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著脱茉,像睡著了一般剪芥。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上琴许,一...
    開封第一講書人閱讀 51,679評(píng)論 1 305
  • 那天税肪,我揣著相機(jī)與錄音,去河邊找鬼榜田。 笑死益兄,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的箭券。 我是一名探鬼主播净捅,決...
    沈念sama閱讀 40,406評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼辩块!你這毒婦竟也來(lái)了蛔六?” 一聲冷哼從身側(cè)響起荆永,我...
    開封第一講書人閱讀 39,311評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎国章,沒(méi)想到半個(gè)月后屁魏,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,767評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡捉腥,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了你画。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片抵碟。...
    茶點(diǎn)故事閱讀 40,090評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖坏匪,靈堂內(nèi)的尸體忽然破棺而出拟逮,到底是詐尸還是另有隱情,我是刑警寧澤适滓,帶...
    沈念sama閱讀 35,785評(píng)論 5 346
  • 正文 年R本政府宣布敦迄,位于F島的核電站,受9級(jí)特大地震影響凭迹,放射性物質(zhì)發(fā)生泄漏罚屋。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評(píng)論 3 331
  • 文/蒙蒙 一嗅绸、第九天 我趴在偏房一處隱蔽的房頂上張望脾猛。 院中可真熱鬧,春花似錦鱼鸠、人聲如沸猛拴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)愉昆。三九已至,卻和暖如春麻蹋,著一層夾襖步出監(jiān)牢的瞬間跛溉,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工哥蔚, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留倒谷,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,298評(píng)論 3 372
  • 正文 我出身青樓糙箍,卻偏偏與公主長(zhǎng)得像渤愁,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子深夯,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)抖格、插件诺苹、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,105評(píng)論 4 62
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,163評(píng)論 25 707
  • 這是一件溫暖的事情。 張?chǎng)稳兔Ρ⒅簦丶业臅r(shí)候已是午夜十二點(diǎn)半了收奔。 十二點(diǎn)半的天好熱,張?chǎng)务{駛著農(nóng)用車滓玖,盡管農(nóng)用車發(fā)...
    往事不再隨風(fēng)閱讀 480評(píng)論 0 0
  • 今天終于可以出走了坪哄,這不是一場(chǎng)說(shuō)走就走的旅行,而是提前請(qǐng)了假势篡,提前確定出走日期的旅行翩肌,雖然我不知道具體路線,但正因...
    婉慧閱讀 641評(píng)論 2 0
  • 希望你也能記住我,記住我曾這樣存在過(guò) 挪威的森林碍侦。最開始這個(gè)名字與我的生命有印象較深的交集粱坤,是伍佰的那首歌。 那時(shí)...
    Jasmim閱讀 1,140評(píng)論 0 0