如何在自定义TabNavigator组件中更改TabBar选项卡背景颜色

问题描述:

我正在创建要在其他应用程序中使用的自定义TabNavigator组件。但现在,选项卡的背景不会改变(尽管其他样式更改也适用)。如何在自定义TabNavigator组件中更改TabBar选项卡背景颜色

在我CustomTabNavigator类,我有这样的控制装置:

override protected function updateDisplayList (w:Number, h:Number):void { 
    super.updateDisplaylist(w,h); 

    tabBar.styleName="CustomTabBarStyle"; 
} 

,这里是在<style>声明的CSS:

.CustomTabBarStyle { 
    tabHeight:100; 
    tabWidth:100; 
    tabStyleName: "CustomTab"; 
    backgroundColor: #FFFFFF; 
} 

.CustomTab { 
    backgroundColor: #FFFFFF; 
    color: haloBlue; 
} 

文本的haloBlue色彩应用,以及tabHeight和tabWidth。背景颜色不会改变。我已经通过大约5个教程尝试不同的事情,无济于事...是否有办法在自定义组件中执行此操作?我所要做的就是摆脱渐变背景而不是平坦的白色背景。

+0

尝试使用.CustomTab {chromeColor:#FFFFFF; 颜色:haloBlue; } – 2013-02-26 21:22:05

+0

@IlyaZ,使所选标签的背景为纯白色,所以进步:)你知道它不适用于其他标签的原因吗? – 2013-02-26 22:35:59

+0

你使用哪个flex版本?尝试在.CustomTabBarStyle类中使用chromeColor。 – 2013-02-27 07:22:49

我能够通过扩展TabBar和ButtonBarButton类来实现这一点。然后,我为自定义ButtonBarButton创建了一个单独的外观,该自定义背景色用于从自定义类中的新字段中拉取(例如hostComponent.tabBackgroundColor)。

如果有人使用CSS方法有更好的解决方案,我会很乐意接受它(因为这是我最初的要求)。