我是React-Native开发的新手。 我正在使用 TabNavigator 来自' react-navigation '对于 React-Native 中的标签栏,一切正常,除了标签栏activeBackgroundColor和inactiveBackgroundColor在android中没有改变。 它只显示蓝色,如下图所示。
我使用的代码是:
import React, { Component } from 'react';
import { TabNavigator } from 'react-navigation';
import { PixelRatio } from 'react-native';
import { ColorScheme } from '../Resources/ColorScheme';
import {Fonts} from '../Resources/Fonts';
import TAB1 from '../Screens/TAB1'
import TAB2 from '../Screens/TAB2'
/** */
var FONT_SIZE = 8;
if (PixelRatio.get() === 2) {
FONT_SIZE=10
}else if (PixelRatio.get() === 3) {
FONT_SIZE=12
}
export default FavoritesScreenTabNavigator=TabNavigator({
TAB1:{screen:TAB1},
TAB2:{screen:TAB2}
},{
tabBarPosition:'top',
swipeEnabled:true,
animationEnabled:true,
tabBarOptions:{
activeTintColor:ColorScheme.tabBarSelectedTintColor,
inactiveTintColor:ColorScheme.tabBarUnSelectedTintColor,
activeBackgroundColor:'white',
inactiveBackgroundColor:'white',
labelStyle:{
fontSize: FONT_SIZE,
fontFamily: Fonts.QuicksandBold,
textAlign:'center'
},
indicatorStyle: {
borderBottomColor:ColorScheme.tabBarSelectedTintColor,
borderBottomWidth: 3,
}
},
}
)
任何帮助将不胜感激。
提前致谢。
答案 0 :(得分:2)
感谢大家的帮助,但style
为我做了神奇的事
它将标签颜色从蓝色更改为白色(我想要的颜色)
通过@Val共享link找到答案
只需在代码中添加这3行就改变了设计:
tabBarOptions:{
//other properties
pressColor: 'gray',//for click (ripple) effect color
style: {
backgroundColor: 'white',//color you want to change
}
}
现在标签栏看起来像:
发布答案,因为它可能有助于某人。
答案 1 :(得分:1)
我从未使用过TabNavigator,但就文档描述的tabBarOptions
而言,activeBackgroundColor
和inactiveBackgroundColor
仅支持iOS。 As seen here
我猜你必须自己添加Android的行为。基于此GitHub Issue
的世博小吃答案 2 :(得分:1)
请参阅github react-native issue 1485,它是一个错误(in)activeBackgroundColor无法在Android上运行。
我的解决方法是使用indicatorStyle
来模拟示例代码:
注意:请记得添加...TabNavigator.Presets.AndroidTopTabs
,如果没有此指标可能无效。
tabBarOptions: {
...TabNavigator.Presets.AndroidTopTabs,
indicatorStyle: {
backgroundColor: mainBackgroundColor,
borderColor: 'rgb(189,189,189)',
borderWidth: 1,
borderBottomWidth: 0,
borderRadius: 5,
borderBottomLeftRadius: 0,
borderBottomRightRadius: 0,
}
}
我的项目看起来很好。 (参见Camera / NVR标签)
答案 3 :(得分:0)
我更新了Val's answer。
tabBarOptions:{
//other properties
pressColor: 'gray',//for click (ripple) effect color
style: {
backgroundColor: 'white',//color you want to change
},
indicatorStyle: {
backgroundColor: 'your indicator background color',
height: '100%',
borderBottomColor: 'your indicator bottom bar color',
borderBottomWidth: 1
},
}
hack是height
的价值!