亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

詳解React Native頂|底部導航使用小技巧

2019-11-19 15:27:11
字體:
來源:轉載
供稿:網友

導航一直是App開發中比較重要的一個組件,ReactNative提供了兩種導航組件供我們使用,分別是:NavigatorIOS和Navigator,但是前者只能用于iOS平臺,后者在ReactNative0.44版本以后已經被移除了。

好在有人提供了更好的導航組件,就是我們今天要講的react-navigation,并且ReactNative官方更推薦我們使用此組件。

本篇文章只講解基礎用法,如果你想了解更多,請戳這里->戳我。

 簡介

react-navigation主要包括導航,底部tab,頂部tab,側滑等,分別為:

  • 導航 -> StackNavigator
  • 底部或者頂部tab -> TabNavigator
  • 側滑 -> DrawerNavigator

我們今天主要講TabNavigator。

效果展示

 實現代碼

import React, { Component } from 'react';import {  AppRegistry,  StyleSheet,  Button,  Text,  View,  Image,  StatusBar} from 'react-native';import { StackNavigator, TabBarBottom, TabNavigator } from "react-navigation";class Home extends React.Component {  static navigationOptions = {    tabBarLabel: '熱點',    tabBarIcon: ({ focused, tintColor }) => (      <Image        source={focused ? require('../res/images/hot_hover.png') : require('../res/images/hot.png')}        style={{ width: 26, height: 26, tintColor: tintColor }}      />    )  };  render() {    return (      <View style={styles.container}>        <Text>!這是熱點</Text>      </View>    );  }}class Circle extends React.Component {  static navigationOptions = {    tabBarLabel: '圈子',    tabBarIcon: ({ focused, tintColor }) => (      <Image        source={focused ? require('../res/images/coterie.png') : require('../res/images/coterie.png')}        style={{ width: 26, height: 26, tintColor: tintColor }}      />    )  };  render() {    return (      <View style={styles.container}>        <Text>!這是圈子</Text>      </View>    );  }}class Tools extends React.Component {  static navigationOptions = {    tabBarLabel: '工具',    tabBarIcon: ({ focused, tintColor }) => (      <Image        source={focused ? require('../res/images/tool.png') : require('../res/images/tool.png')}        style={{ width: 26, height: 26, tintColor: tintColor }}      />    )  };  render() {    return (      <View style={styles.container}>        <Text>!這是工具</Text>      </View>    );  }}class Mypage extends React.Component {  static navigationOptions = {    tabBarLabel: '我的',    tabBarIcon: ({ focused, tintColor }) => (      <Image        source={focused ? require('../res/images/my_hover.png') : require('../res/images/my.png')}        style={{ width: 26, height: 26, tintColor: tintColor }}      />    )  };  render() {    return (      <View style={styles.container}>        <Text>!這是我的</Text>      </View>    );  }}const styles = StyleSheet.create({  container: {    flex: 1,    justifyContent: 'center',    alignItems: 'center',    backgroundColor: '#fff',  }});const MyApp = TabNavigator(  {    Home: {      screen: Home,    },    Circle: {      screen: Circle,    },    Tools: {      screen: Tools,    },    Mypage: {      screen: Mypage,    },  },  {    tabBarOptions: {      activeTintColor: '#4BC1D2',      inactiveTintColor: '#000',      showIcon: true,      showLabel: true,      upperCaseLabel: false,      pressColor: '#823453',      pressOpacity: 0.8,      style: {        backgroundColor: '#fff',        paddingBottom: 0,        borderTopWidth: 0.5,        borderTopColor: '#ccc',      },      labelStyle: {        fontSize: 12,        margin: 1      },      indicatorStyle: { height: 0 }, //android 中TabBar下面會顯示一條線,高度設為 0 后就不顯示線了    },    tabBarPosition: 'bottom',    swipeEnabled: false,    animationEnabled: false,    lazy: true,    backBehavior: 'none',  });module.exports = MyApp;

配置說明

NavigationOptions

當然,通過NavigationOptions來配置我們的tabBarItem:

  • title - 標題
  • tabBarVisible - 是否可見
  • tabBarIcon - 配置圖片,當然,完全可以不使用圖片
  • tabBarLabel - 也是配置標題,只不過title既能配置tab的標題,也能配置navigation的標題

 TabNavigatorConfig

  • tabBarComponent- 用作標簽欄的組件,例如 (這是iOS上的默認設置), (這是Android上的默認設置)TabBarBottomTabBarTop
  • tabBarPosition- 標簽欄的位置可以是或'top''bottom'
  • swipeEnabled - 是否允許在標簽之間進行滑動
  • animationEnabled - 是否在更改標簽時動畫
  • lazy - 是否根據需要懶惰呈現標簽,而不是提前制作
  • tabBarOptions - 配置標簽欄,如下所示。
  • 幾個選項被傳遞到底層路由器來修改導航邏輯:
  • initialRouteName - 首次加載時初始標簽路由的routeName
  • order - 定義選項卡順序的routeNames數組
  • paths - 將routeName映射到路徑配置,該配置將覆蓋routeConfigs中設置的路徑。
  • backBehavior - 后退按鈕是否會使Tab鍵切換到初始選項卡?如果是,否則設置。默認為行為。initialRoutenoneinitialRoute

tabBarOptions for (iOS上的默認標簽欄)TabBarBottom

  • activeTintColor - 活動標簽的標簽和圖標顏色
  • activeBackgroundColor - 活動選項卡的背景顏色
  • inactiveTintColor - 非活動標簽的標簽和圖標顏色
  • inactiveBackgroundColor - 非活動標簽的背景顏色
  • showLabel - 是否顯示標簽的標簽,默認為true
  • style - 標簽欄的樣式對象
  • labelStyle - 標簽標簽的樣式對象
  • tabStyle - 標簽的樣式對象

tabBarOptions for (Android上的默認標簽欄)TabBarTop

  • activeTintColor - 活動標簽的標簽和圖標顏色
  • inactiveTintColor - 非活動標簽的標簽和圖標顏色
  • showIcon - 是否顯示標簽的圖標,默認值為false
  • showLabel - 是否顯示標簽的標簽,默認為true
  • upperCaseLabel - 是否使標簽大寫,默認為true
  • pressColor - 材質波紋顏色(Android> = 5.0)
  • pressOpacity - 按壓標簽的不透明度(iOS和Android <5.0 only)
  • scrollEnabled - 是否啟用可滾動選項卡
  • tabStyle - 標簽的樣式對象
  • indicatorStyle - 標簽指示器的樣式對象(選項卡底部的行)
  • labelStyle - 標簽標簽的樣式對象
  • iconStyle - 標簽圖標的樣式對象
  • style - 標簽欄的樣式對象

小技巧

1.去掉安卓下的下劃線,設置:tabBarOptions => indicatorStyle:{ height: 0 };

2.底部導航在導航最上方添加一條分割線,設置:tabBarOptions => style => borderTopWidth: 0.5, borderTopColor: '#ccc';

3.導航安卓圖標和文字間隙比較大,手動調整小設置:tabBarOptions => labelStyle => margin: 0;

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲图片欧美午夜| 欧美日韩免费观看中文| 欧美一级淫片aaaaaaa视频| 北条麻妃99精品青青久久| 日韩中文在线中文网在线观看| 2019国产精品自在线拍国产不卡| 91网站在线看| 日韩精品免费在线视频观看| 亚洲欧美日韩天堂| 亚洲free性xxxx护士白浆| 欧美国产日韩中文字幕在线| 色婷婷久久一区二区| 91久久精品美女高潮| 美女国内精品自产拍在线播放| 亚洲精品mp4| 国产精品十八以下禁看| 精品久久久久久久久久久久久久| 伊人青青综合网站| 欧美在线观看日本一区| 亚洲黄色在线看| 久久影院资源站| 亚洲精品91美女久久久久久久| 97国产精品视频| 久久久久久久一区二区| 亚洲欧美日韩成人| 国产91精品高潮白浆喷水| 日韩精品亚洲精品| 亚洲欧美激情另类校园| 欧美激情视频一区二区三区不卡| 97视频在线观看免费高清完整版在线观看| 色婷婷久久av| 中文字幕欧美视频在线| 91精品国产色综合久久不卡98| 欧美精品999| 中文字幕亚洲综合久久筱田步美| 欧美日韩精品国产| 精品一区电影国产| 国产成人在线播放| 欧美日韩国产麻豆| 国产成人欧美在线观看| 欧美激情国产日韩精品一区18| 亚洲欧美一区二区精品久久久| 欧美一级淫片播放口| 正在播放亚洲1区| 国产精品高潮呻吟久久av黑人| 国产精品电影一区| 亚洲电影免费观看高清完整版在线观看| 国产精品久久久久久久久免费| 国产欧美精品一区二区三区介绍| 久久久在线免费观看| 欧美大全免费观看电视剧大泉洋| 国产精品网站入口| 91精品免费久久久久久久久| 国产在线一区二区三区| 成人性生交大片免费看小说| 日韩精品999| 国产97在线播放| 精品国产999| 国产精品吹潮在线观看| 国产成人激情小视频| 精品久久久久久久久久久久久| 亚洲亚裔videos黑人hd| 久久天堂av综合合色| 国产精品久久久久7777婷婷| 国产精品久久久999| 日韩亚洲欧美中文高清在线| 亚洲天堂久久av| 伊人青青综合网站| www日韩中文字幕在线看| 久久精品国产亚洲精品2020| 色悠悠国产精品| 最近2019年好看中文字幕视频| 亚洲免费视频一区二区| 国语自产精品视频在线看一大j8| 青草青草久热精品视频在线观看| 国产97免费视| 欧美久久精品午夜青青大伊人| 精品久久久久久久久久久久久久| 成人免费看吃奶视频网站| 久久久久久高潮国产精品视| 亚洲人成77777在线观看网| 日韩a**站在线观看| 国产大片精品免费永久看nba| 中文字幕日本欧美| 亚洲国产美女精品久久久久∴| 国产日韩在线视频| 亚洲精品成人久久久| 91精品久久久久久久久不口人| 成人激情综合网| 久久91精品国产91久久跳| 欧美体内谢she精2性欧美| 亚州国产精品久久久| 亚洲一区二区三区sesese| 久久久噜噜噜久噜久久| 国产精品丝袜久久久久久高清| 日韩av不卡电影| 成人97在线观看视频| 97超碰国产精品女人人人爽| 亚洲丝袜在线视频| 亚洲第一视频网站| 91精品国产91| 色综合色综合网色综合| 国产精品一区二区久久精品| 国产精品精品久久久| 亚洲风情亚aⅴ在线发布| 亚洲91精品在线| 亚洲福利影片在线| 亚洲自拍偷拍视频| 少妇精69xxtheporn| 国内精品一区二区三区| 26uuu另类亚洲欧美日本一| 日韩精品视频在线观看免费| 国产97在线|日韩| 国产日韩综合一区二区性色av| 亚洲丁香久久久| 欧美极品少妇xxxxⅹ裸体艺术| 国产aⅴ夜夜欢一区二区三区| 在线观看亚洲区| 日韩av影视在线| 久久久99免费视频| 最近免费中文字幕视频2019| 中文字幕免费国产精品| 日韩专区中文字幕| 九九热这里只有精品免费看| 91美女高潮出水| 国产一区二区三区网站| 久久99国产综合精品女同| 国产精品亚洲欧美导航| 日韩成人激情在线| 日韩av有码在线| 日本久久中文字幕| 91精品国产一区| 欧美在线一区二区视频| 中文字幕九色91在线| 久久国产精品免费视频| 日韩在线一区二区三区免费视频| 91亚洲国产成人久久精品网站| 国产精品入口尤物| 成人国内精品久久久久一区| 成人97在线观看视频| 国产精品va在线播放我和闺蜜| 最好看的2019的中文字幕视频| 亚洲女性裸体视频| 青草青草久热精品视频在线观看| 亚洲石原莉奈一区二区在线观看| 欧美极品少妇xxxxⅹ喷水| 日韩欧美国产骚| 成人国产精品av| 久久av红桃一区二区小说| 亚洲欧美在线x视频| 亚洲国产婷婷香蕉久久久久久| 黄色精品在线看| 中文字幕亚洲无线码a| 国产精品自产拍高潮在线观看| 精品久久久久久国产| 国产精品一区二区三| 久久91亚洲人成电影网站| 亚洲精品suv精品一区二区| 国产在线播放不卡| 久久免费成人精品视频| 久久影院中文字幕| 91在线观看免费网站| 色综合久久精品亚洲国产| 中文字幕久热精品在线视频|