javascript - 如何在 TabNavigator 上显示图标以响应 native

标签 javascript android reactjs react-native react-redux

你好程序员,

我对 React Navigation 有一些疑问, 我正在使用 createBottomTabNavigator 做 Tab Navigator,但是它没有出现图标! 然后用它可以正常工作的图像替换图标,这不是 react native 矢量图标的问题,因为我在其他屏幕上使用它们并且它可以工作,

版本

"react-native-vector-icons": "^6.1.0"

“ react 导航”:“^3.0.8”

屏幕

Home

使用 RN 矢量图标的其他屏幕

Other Screen to use the RN vector Icon

我的代码

import React, { Component } from "react";
import { StyleSheet, Text, View, Image } from "react-native";
import { createBottomTabNavigator, createAppContainer } from "react-navigation";
import Icon from "react-native-vector-icons/Ionicons";

import Search from "./src/screen/Search";
import Home from "./src/screen/Home";
import Locations from "./src/screen/Locations";

const TabNavigator = createBottomTabNavigator(
  {
    Home: {
      screen: Home,
      navigationOptions: {
        tabBarLabel: "Home",
        tabBarIcon: ({ tintColor }) => (
          <Image
            source={require("./assets/rainy.png")}
            style={{ width: 26, height: 26, tintColor: tintColor }}
          />
        )
      }
    },
    Search: {
      screen: Search,
      navigationOptions: {
        tabBarLabel: "Search",
        tabBarIcon: ({ tintColor }) => {
          <Icon name="ios-search" size={25} color="#4F8EF7" />;
        }
      }
    },
    Locations: {
      screen: Locations,
      navigationOptions: {
        tabBarLabel: "Location",
        tabBarIcon: ({ tintColor }) => {
          <Icon name="ios-map" size={25} color="#4F8EF7" />;
        }
      }
    }
  },
  {
    tabBarOptions: {
      activeTintColor: "#e91e63",
      showIcon: true,
      showLabel: true,
      labelStyle: {
        fontSize: 14
      },
      style: {}
    },
    navigationOptions: {
      tabVisiable: true,
      activeTintColor: "red",
      animationEnabled: true
    }
  }
);

export default createAppContainer(TabNavigator);

最佳答案

您可以像这样使用 MaterialCommunityIcons :

import { MaterialCommunityIcons } from 'react-native-vector-icons';

<Tab.Screen
    name="Feed"
    component={Feed}
    options={{
      tabBarLabel: 'Home',
      tabBarIcon: ({ color, size }) => (
        <MaterialCommunityIcons name="home" color={color} size={size} />
      ),
    }}
  />

您可以在此处找到更多信息:https://reactnavigation.org/docs/bottom-tab-navigator/

关于javascript - 如何在 TabNavigator 上显示图标以响应 native ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53875959/

相关文章:

javascript - 无法调用类型缺少调用签名的表达式

c# - 从 RESTful WCF 服务返回图像

java - ArrayList OutOfBounds - Java (Android) 编程

Android:Activity.runOnUiThread 和 View.post 有什么区别?

javascript - 无法禁用/覆盖上下文菜单 Safari 全屏模式

javascript - Yii - 如何打开 Jquery 对话框小部件并提交表单

jquery - 在 jasmine 测试中使用 React 组件触发 jQuery 事件,无需开玩笑

reactjs - 从单个文件导出的 Material UI v4 makeStyles 不会在刷新时保留样式

android - 为什么打开 proguard 的 "Surface frame wait timed out"编码?

reactjs - 如何在 Material-UI 选择器的输入内部添加清晰的图标