我正在对Spark:TabBar
. 这是我想要完成的图表:
_______________________
| |
| Label X |
|_____________________|
所以我们有一个按钮(我在spark:ButtonBarButton
组件上使用自定义皮肤),它有一个标签和一个辅助按钮,用于从列表中删除所述项目。X
仅当用户将鼠标悬停在主按钮上时才应显示该按钮。
我遇到的问题是我完全无法与X
按钮交互,因为它是按钮中的按钮。它不响应悬停状态,并且我附加到它的任何点击处理程序都不会触发 - 而是触发父按钮的点击事件。
我目前正在玩弄 using stopPropagation
,但这不会(或者更确切地说我不希望它)解决悬停状态问题,并且正在寻找更可行的解决方案。
以下是我的代码的一些示例:
VerticalPillBarSkin - 主机组件:spark.components.TabBar
<s:DataGroup id="dataGroup" width="100%" height="100%" clipAndEnableScrolling="true">
<s:layout>
<s:VerticalLayout paddingRight="3" gap="3"/>
</s:layout>
<s:itemRenderer>
<fx:Component>
<s:ButtonBarButton skinClass="{VerticalPillBarButtonSkin}" width="120"/>
</fx:Component>
</s:itemRenderer>
</s:DataGroup>
VerticalPillBarButtonSkin - 请注意,这SymbolButton
是一个扩展 ButtonBase 的自定义组件。
<s:Label id="labelDisplay" color="0x000000"
textAlign="left" verticalAlign="middle"
horizontalCenter="0" verticalCenter="1"
left="0" right="12" top="6" bottom="6" />
<s:Spacer width="100%" />
<x:SymbolButton id="removeButton"
includeIn="overStates"
icon="{REMOVE}"
iconRollover="{REMOVE_OVER}"
right="5" verticalCenter="0" click="closeHandler()" />
有谁知道解决这个问题的好方法?我玩过使用除s:ButtonBarButton
as 以外的其他东西VerticalPillBarButton
,但这似乎不是一个可行的选择。如果我能提供任何其他信息,请随时询问。