首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TabNavigator:基于目标平台的样式标签

TabNavigator:基于目标平台的样式标签
EN

Stack Overflow用户
提问于 2017-03-29 05:18:19
回答 1查看 2.5K关注 0票数 3

我正在使用react原生TabNavigator在我的应用程序的选项卡之间导航。

代码语言:javascript
复制
    const TabNav = TabNavigator({
    Home: {
        screen: HomeScene,
        navigationOptions:{
            tabBar: {
                label: 'Home',
                icon: ({ focused }) => {
                  let imgSource = focused
                  ? require('../common/img/selected-home-75.png')
                  : require('../common/img/unselected-home-75.png');
                  return <Image
                    source={imgSource}
                    style={tabBarStyles.icon}
                  />
                }
            }
        }
    },
    ...
}, {
    swipeEnabled: false,
    tabBarOptions: {
        showIcon: true,
        upperCaseLabel: false,
        labelStyle: tabBarStyles.labelStyle,
        style: tabBarStyles.style
    }
});

每个选项卡都包含一个图标和一个标签。根据应用程序是在iOS上运行还是在安卓上运行,我想让TabBar的样式略有不同。

"tabNavigationConfig“的documentation描述了"tabBarOptions”的"TabBarBottom“和"TabBarTop”的两个部分,这让我认为有可能为顶部TabBar和底部TabBar提供另一个配置。

有没有可能为iOS提供"tabBarOptions“,为安卓提供不同的选项(即顶部和底部)?

EN

回答 1

Stack Overflow用户

发布于 2017-06-23 00:33:28

可以使用以下用法基于平台应用选项:

代码语言:javascript
复制
import {Platform} from 'react-native';

因此,您可以根据Platform.OS值为每个平台分配单独的选项:

代码语言:javascript
复制
const iosTabBarOptions = {
    showIcon: false,
    upperCaseLabel: false,
    labelStyle: tabBarStyles.labelStyle,
    style: tabBarStyles.style
};

const androidTabBarOptions = {
    showIcon: true,
    upperCaseLabel: true,
    labelStyle: tabBarStyles.labelStyle,
    style: tabBarStyles.style
};

tabBarOptions: Platform.OS === 'ios'
    ? iosTabBarOptions
    : androidTabBarOptions
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43080143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档