React Native 정상|아래쪽 내 비게 이 션 사용 팁

7560 단어 ReactNative항 법
네 비게 이 션 은 앱 개발 에서 비교적 중요 한 구성 요소 이다.ReactNative 는 두 가지 네 비게 이 션 구성 요 소 를 제공 하여 우리 가 사용 할 수 있 도록 했다.그것 이 바로 Navigator IOS 와 Navigator 이다.그러나 전 자 는 iOS 플랫폼 에 만 사용 할 수 있 고 후 자 는 ReactNative 0.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'
  • 일 수 있 습 니 다.
  • swipe Enabled-탭 사이 에서 미끄럼 허용 여부
  • animation Enabled-탭 을 변경 할 때 애니메이션 을 사용 할 지 여부
  • lazy-필요 에 따라 게 으 름 에 따라 라벨 을 보 여 주 는 지,미리 만 드 는 것 이 아니 라
  • tabBarOptions-탭 표시 줄 설정 은 다음 과 같 습 니 다.
  • 몇 가지 옵션 이 끝까지 전달 되 어 네 비게 이 션 논 리 를 수정 합 니 다.
  • initialRouteName-처음 불 러 올 때 초기 탭 경로 의 routeName
  • order-옵션 순 서 를 정의 하 는 route Names 배열
  • paths-routeName 을 경로 설정 에 표시 합 니 다.이 설정 은 routeConfigs 에서 설정 한 경 로 를 덮어 씁 니 다.
  • backBehavior-후퇴 단 추 를 누 르 면 Tab 키 를 초기 옵션 으로 전환 할 수 있 습 니까?만약 그렇다면,그렇지 않 으 면 설정 합 니 다.묵인 행위.initialRoutenoneinitialRoute
  • tabBarOptions for(iOS 의 기본 탭 표시 줄)TabBarBottom
  • activeTintcolor-활성 탭 의 태그 와 아이콘 색상
  • activeBackgroundColor-이벤트 옵션 의 배경 색
  • inactive Tintcolor-비활성 탭 의 태그 와 아이콘 색상
  • inactive BackgroundColor-비활성 라벨 의 배경 색
  • showLabel-탭 의 탭 을 표시 할 지 여부 입 니 다.기본 값 은 true
  • 입 니 다.
  • style-탭 표시 줄 의 스타일 대상
  • label Style-라벨 의 스타일 대상
  • tabStyle-라벨 의 스타일 대상
  • tabBarOptions for(Android 의 기본 탭 표시 줄)TabBarTop
  • activeTintcolor-활성 탭 의 태그 와 아이콘 색상
  • inactive Tintcolor-비활성 탭 의 태그 와 아이콘 색상
  • showIcon-탭 아이콘 을 표시 할 지 여부 입 니 다.기본 값 은 false
  • 입 니 다.
  • showLabel-탭 의 탭 을 표시 할 지 여부 입 니 다.기본 값 은 true
  • 입 니 다.
  • upper Case Label-탭 을 대문자 로 쓸 지 여부 입 니 다.기본 값 은 true
  • 입 니 다.
  • pressColor-재질 파문 색(Android>=5.0)
  • pressOpacity-탭 의 불투명 도(iOS 와 Android<5.0 only)
  • scrollEnabled-스크롤 가능 옵션 사용 여부
  • tabStyle-라벨 의 스타일 대상
  • indicator Style-태그 표시 기의 스타일 대상(옵션 아래쪽 줄)
  • label Style-라벨 의 스타일 대상
  • iconStyle-탭 아이콘 의 스타일 대상
  • style-탭 표시 줄 의 스타일 대상
  • 잔재주
    1.안 드 로 이 드 의 밑줄 을 제거 하고 설정:tabBarOptions=>indicator Style:{height:0};
    2.아래쪽 내 비게 이 션 은 내 비게 이 션 맨 위 에 분할 선 을 추가 합 니 다.설정:tabBarOptions=>style=>borderTopWidth:0.5,borderTopColor:'\#ccc';
    3.네 비게 이 션 안 드 로 이 드 아이콘 과 텍스트 간격 이 비교적 크 고 수 동 으로 작은 설정 을 조정 합 니 다:tabBarOptions=>labelStyle=>margin:0;
    이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

    좋은 웹페이지 즐겨찾기