1. 程式人生 > >react-native 的 TabBarIOS 元件(底部選擇器)

react-native 的 TabBarIOS 元件(底部選擇器)

方法一 :

這是在 react-native 中文官網上的例子,親測功能效果很不錯,推薦使用

這裡寫圖片描述

1. 建立一個  tabbar.js   檔案

'use strict';

var React = require('react');
var ReactNative = require('react-native');
var {
    StyleSheet,
    TabBarIOS,
    Text,
    View,
} = ReactNative;

var base64Icon = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEsAAABLCAQAAACSR7JhAAADtUlEQVR4Ac3YA2Bj6QLH0XPT1Fzbtm29tW3btm3bfLZtv7e2ObZnms7d8Uw098tuetPzrxv8wiISrtVudrG2JXQZ4VOv+qUfmqCGGl1mqLhoA52oZlb0mrjsnhKpgeUNEs91Z0pd1kvihA3ULGVHiQO2narKSHKkEMulm9VgUyE60s1aWoMQUbpZOWE+kaqs4eLEjdIlZTcFZB0ndc1+lhB1lZrIuk5P2aib1NBpZaL+JaOGIt0ls47SKzLC7CqrlGF6RZ09HGoNy1lYl2aRSWL5GuzqWU1KafRdoRp0iOQEiDzgZPnG6DbldcomadViflnl/cL93tOoVbsOLVM2jylvdWjXolWX1hmfZbGR/wjypDjFLSZIRov09BgYmtUqPQPlQrPapecLgTIy0jMgPKtTeob2zWtrGH3xvjUkPCtNg/tm1rjwrMa+mdUkPd3hWbH0jArPGiU9ufCsNNWFZ40wpwn+62/66R2RUtoso1OB34tnLOcy7YB1fUdc9e0q3yru8PGM773vXsuZ5YIZX+5xmHwHGVvlrGPN6ZSiP1smOsMMde40wKv2VmwPPVXNut4sVpUreZiLBHi0qln/VQeI/LTMYXpsJtFiclUN+5HVZazim+Ky+7sAvxWnvjXrJFneVtLWLyPJu9K3cXLWeOlbMTlrIelbMDlrLenrjEQOtIF+fuI9xRp9ZBFp6+b6WT8RrxEpdK64BuvHgDk+vUy+b5hYk6zfyfs051gRoNO1usU12WWRWL73/MMEy9pMi9qIrR4ZpV16Rrvduxazmy1FSvuFXRkqTnE7m2kdb5U8xGjLw/spRr1uTov4uOgQE+0N/DvFrG/Jt7i/FzwxbA9kDanhf2w+t4V97G8lrT7wc08aA2QNUkuTfW/KimT01wdlfK4yEw030VfT0RtZbzjeMprNq8m8tnSTASrTLti64oBNdpmMQm0eEwvfPwRbUBywG5TzjPCsdwk3IeAXjQblLCoXnDVeoAz6SfJNk5TTzytCNZk/POtTSV40NwOFWzw86wNJRpubpXsn60NJFlHeqlYRbslqZm2jnEZ3qcSKgm0kTli3zZVS7y/iivZTweYXJ26Y+RTbV1zh3hYkgyFGSTKPfRVbRqWWVReaxYeSLarYv1Qqsmh1s95S7G+eEWK0f3jYKTbV6bOwepjfhtafsvUsqrQvrGC8YhmnO9cSCk3yuY984F1vesdHYhWJ5FvASlacshUsajFt2mUM9pqzvKGcyNJW0arTKN1GGGzQlH0tXwLDgQTurS8eIQAAAABJRU5ErkJggg=='
; var TabBarExample = React.createClass({ statics: { title: '<TabBarIOS>', description: 'Tab-based navigation.', }, displayName: 'TabBarExample', getInitialState: function() { return { selectedTab: 'redTab', notifCount: 0, presses
: 0, }; }, _renderContent: function(color, pageText, num) { return ( <View style={[styles.tabContent, {backgroundColor: color}]}> <Text style={styles.tabText}>{pageText}</Text> <Text style={styles.tabText}>{num} re-renders of
the {pageText}</Text> </View> ); }, render: function() { return ( <TabBarIOS unselectedTintColor="yellow" tintColor="white" barTintColor="darkslateblue"> <TabBarIOS.Item title="Blue Tab" icon={{uri: base64Icon, scale: 3}} selected={this.state.selectedTab === 'blueTab'} onPress={() => { this.setState({ selectedTab: 'blueTab', }); }}> {this._renderContent('#414A8C', 'Blue Tab')} </TabBarIOS.Item> <TabBarIOS.Item systemIcon="history" badge={this.state.notifCount > 0 ? this.state.notifCount : undefined} selected={this.state.selectedTab === 'redTab'} onPress={() => { this.setState({ selectedTab: 'redTab', notifCount: this.state.notifCount + 1, }); }}> {this._renderContent('#783E33', 'Red Tab', this.state.notifCount)} </TabBarIOS.Item> <TabBarIOS.Item icon={require('./Images/dkw.png')} selectedIcon={require('./Images/waitToDesign1.png')} renderAsOriginal title="More" selected={this.state.selectedTab === 'greenTab'} onPress={() => { this.setState({ selectedTab: 'greenTab', presses: this.state.presses + 1 }); }}> {this._renderContent('#21551C', 'Green Tab', this.state.presses)} </TabBarIOS.Item> </TabBarIOS> ); }, }); var styles = StyleSheet.create({ tabContent: { flex: 1, alignItems: 'center', }, tabText: { color: 'white', margin: 50, }, }); module.exports = TabBarExample;

2. 直接在   index.ios.js   中匯入  tabbar.js  即可:

 var HelloReactNative = require("./tabBar");

方法二 :

貌似已經淘汰了,反正我敲碼後實現不了所需要的效果,出現了一整塊灰色的蒙版^_^!!

1. 直接在   index.ios.js   中編寫:

//TabBarIOS元件(導航功能)

import React, {Component} from 'react';
import {
    AppRegistry,
    StyleSheet,
    Text,
    View,
    TabBarIOS
} from 'react-native';
/*
*   在 ReactNative 中,實現頁面切換,提供了兩個元件: TabBarIOS 和 TabBarIOS.Item
*
*   常用效能
*
*   selected: 是否選中某個 Tab, 如果 true 則選中並顯示元件
*   title: 標題
*   barTintColor: Tab欄的背景顏色
*   icon: 圖示
*   onPress: 點選事件.當某個 tabbar 選中時,需要改變元件的 selected={ture}設定
* */

//把需要的 js 檔案匯入
var MovieListt = require("./movieListView");
var Imaget = require("./movieListView");
var Moviet = require("./movieListView");

var HelloReactNative = React.createClass({
    render:function () {
        return(
            <TabBarIOS style={{flex:1}}>
                <TabBarIOS.Item
                    title="Item1"
                    icon={require("./Images/dkw.png")}>
                    <MovieListt/>
                </TabBarIOS.Item>

                <TabBarIOS.Item
                    title="Item2"
                    icon={require("./Images/waitToDesign1.png")}>
                    <Imaget></Imaget>
                </TabBarIOS.Item>

               <TabBarIOS.Item
                   title="Item13"
                   icon={require("./Images/2p_03.png")}>
                   <Moviet></Moviet>
                </TabBarIOS.Item>
            </TabBarIOS>
        );
    }
});

AppRegistry.registerComponent('HelloReactNative', () => HelloReactNative);

相關推薦

react-nativeTabBarIOS 元件(底部選擇)

方法一 : 這是在 react-native 中文官網上的例子,親測功能效果很不錯,推薦使用 1. 建立一個  tabbar.js   檔案 'use strict'; var React = require('re

(七)React Native---TabBarIOS 元件

一:簡介 兩個TabBarIOS和TabBarIOS.Item元件可以實現頁面Tab切換的功能,Tab頁面切換的架構在應用開發中還是非常常見的.如:騰訊QQ,淘寶,美團外賣等等 二:TabBarIOS.Item屬性 1.View相關屬性樣式全部繼承(例如:寬和高,背

React Native開發】React Native控制元件之Switch開關與Picker選擇元件講解以及使用(16)

轉載請標明出處:(一)前言       【好訊息】個人網站已經上線執行,後面部落格以及技術乾貨等精彩文章會同步更新,請大家關注收藏:http://www.lcode.org       今天我們一起來看

React Native 寫的城市選擇元件

現如今城市列表選擇元件在業務上需求很大,因此今天用React Naitve來實現一個城市列表的功能。話不多說,先來看看實現的效果: 根據效果來看很像是蘋果手機的通訊錄,那麼接下來,我們就要開始寫程式碼了。 頁面編寫 頁面編寫不用做過多的說明,關於下方城

react-native實現樹結構選擇元件

react-native-tree-select react-native-tree-select 樹結構選擇元件 專案結構 --components: treeSelect元件 --treeSelectExample: 元件演示程式碼 --.gitignor

基於React Native官方元件FlatList,增加可定製化“下拉重新整理”、“下拉載入更多”元件API的新列表元件react-native-refresh-loadmore-flatlist

react-native-refresh-loadmore-flatlist 基於React Native官方元件FlatList,增加可定製化“下拉重新整理”、“下拉載入更多”元件API的新列表元件,具體實現功能如下: 自定義下拉重新整理元件API 自定義上拉Lo

React-Native 官方元件FlatLis 關於屬性onEndReached、onEndReachedThreshold的幾點使用總結

FlatList元件為什麼依然這麼難用 官方提供的這款List元件相比於上一個版本的ListView來說已經優化很多了,但是,還是不能稱之為一個成熟的元件。 onEndReached、onRefresh兩個屬性的引入說明官方確實是想將下拉重新整理、上拉載入的模式引入這個元件,但是

基於React Native官方元件Image封裝的具備載入生命週期視覺反饋的元件react-native-loading-image

react-native-loading-image 基於React Native官方元件Image封裝的具備載入生命週期視覺反饋的元件,具體實現功能如下: 網路圖片Pending狀態渲染,提供閃爍動畫、loading.gif兩種方式 網路圖片Error狀態渲染

基於React Native官方元件ScrollView與React-Navigation實現headerTitle與介面的滑動的互動效果react-native-scrollable-contain

react-native-scrollable-container 基於React Native官方元件ScrollView與React-Navigation實現headerTitle與介面的滑動的互動效果 Installation npm install react-nat

React Native基礎元件

轉載請註明出處:小樓一夜聽春雨的專欄http://blog.csdn.net/win816723459/article/details/54134171 本節主要介紹以下元件 View 容器元件(同Html中的div標籤) Text 文字元件(同Html中的p標籤)

React-Native學習--第三方 底部Tab react-native-tab-navigator

1.下載 npm install react-native-tab-navigator –save下載 2. 匯入 import TabNavigator from 'react-native-tab-navigator' 3. 完整程式碼 import Reac

更改React Native第三方元件原始碼

React Native常用第三方元件彙總見連結: http://blog.csdn.net/chichengjunma/article/details/52920137點選開啟連結 有時候第三方元件從樣式上並不能如我們意願,那我們如何更改React Native第三方元件的樣式呢

React-Native Text元件重新渲染時會文字超出螢幕的問題

React-Native Text元件重新渲染時會文字超出螢幕的問題 今天在開發中碰到一個很奇怪的問題就是初次渲染的時候Text元件裡的文字會正常換行,一切看起來都很和諧,但是當我滾動scrollview引起重新渲染的時候,靈異事件發生了,這個Text裡本來的兩行文字,卻詭異的變成了一行

react-native 返回元件的問題

問題描述:在react-native中,我們開發一個元件時最終返回的內容一般都是一個 View 或者 Content 元件,其餘的內容都包裹在這個元件中進行返回。直接來說,我們最終只相當於返回的一個 V

美團React Native基礎元件庫beeshell詳解

近年來,伴隨著大前端概念的提出和興起,移動端和前端的邊界變得越來越模糊,湧現了一大批移動跨平臺開發框架和模式。從早期的PhoneGap、inoc等Hybird技術,到現在耳熟能詳的React Native、Weex和Flutter等技術,無不體現著移動端開發的前

react native 動畫元件Animated

Animate.js import React, { Component } from 'react' import { AppRegistry, StyleSheet, Text, View, Animated, //使用Animated元件 Easin

React Native Touchable元件onPress方法在使用PanResponder時失效,iphone6,iphone 6S

收到測試反饋iphone6和iPhone6s上點選列表有時無法跳轉到詳情頁面,除錯時候發現點選touchable元件時,有時會執行onPress方法,有時會執行PanResponder的方法 手指點選螢幕面積比較小時執行onPress,否則會執行PanResponder方法 可能是因

React Native -- 建立元件的三種方式

1. React Native 建立元件的方式 React Native 建立元件有三種方式,分別是: ES6 建立元件 ( 推薦 ) ES5 建立元件 函式式定義的無狀態元件 下面分別講下。 2.

React Native元件呼叫子元件

////用元件化寫的 import React, { Component } from "react"; import { Text, View } from "react-native"; import Greeting1 from "./Greeting.js"; class Greeting

React Native常用元件樣式總結

作為一個JS、CSS、RN新手,總是會遇到各種樣式。在不知道樣式有些什麼的情況下難以很好的繪製佈局。所以這裡整理了一下幾個常用佈局的樣式。 View Style 支援Flexbox、ShadowPropTypesIOS、Transforms屬性。