2012-12-27 43 views
0

我现在有以下安装(抽象为简单起见):星火的TabBar独特标签

<s:TabBar id="extentTypeTabBar" dataProvider="{vs}"/> 
<mx:ViewStack id="vs"> 
    <s:NavigatorContent id="firstTab" label="Action"> 
     <!--content--> 
    </s:NavigatorContent> 
    <s:NavigatorContent id="secondTab" label="Adventure"> 
     <!--content--> 
    </s:NavigatorContent> 
    <s:NavigatorContent id="thirdTab" label="Favorites"> 
     <!--content--> 
    </s:NavigatorContent> 
</mx:ViewStack> 

我想thirdTab有一个图像,而不是一个标签(即一个明星或心脏的图像,而不是单词“收藏夹”)。我试过在NavigatorContent上使用'icon'属性,无济于事。

我认为实现这一目标,我将不得不创建它背后的逻辑对于Spark的TabBar自定义皮肤,因为我只想唯一一个皮肤选项卡中,并不是所有的选项卡。有没有人有如何做到这一点的例子?

谢谢!
jp

+0

这是否帮助你吗? [链接](http://stackoverflow.com/questions/4452588/how-can-i-add-multiple-icons-to-the-spark-tabbar-control) – PCM

回答

0

如果您使用NavigatorContent对象的icon属性,这应该工作得很好。该icon属性的类型为Class,所以你必须为它提供代表嵌入图像或FXG对象的类。

下面是这两种方法的一个例子:

<s:NavigatorContent icon="@Embed('favorite_icon.png')" /> <!-- embedded icon --> 
<s:NavigatorContent icon="{FxgAsset}" /> <!-- fxg asset --> 

为方便起见,我把图标在我的项目的“默认包”,只需更改路径图标来匹配你的图标的位置。我在第二个示例中使用的FXG资产可以位于项目中的任何位置。 FXG资产本质上是类,所以你不需要指定路径(你的IDE应该像其他任何类一样)。

注意有一些其他的方式来嵌入图像,所有的人都应该工作...我这里显示的是列举了最简单:)