のスキニングに取り組んでSpark:TabBar
いますが、タブバーのボタンに使用されているカスタム スキンで問題が発生しています。これが私が達成しようとしていることの図です:
_______________________
| |
| Label X |
|_____________________|
spark:ButtonBarButton
そのため、ラベルと、リストからアイテムを削除するためのセカンダリ ボタンを持つボタン (コンポーネントでカスタム スキンを使用しています) があります。このX
ボタンは、ユーザーがメイン ボタンにカーソルを合わせたときにのみ表示されます。
私が抱えている問題は、ボタン内のボタンであるX
ため、ボタンを完全に操作できないことです。ホバー状態には応答せず、アタッチしたクリック ハンドラーは起動しません。代わりに、親ボタンのクリック イベントが起動します。
私は現在、 を使用していじっていstopPropagation
ますが、それはホバー状態の問題を修正しない (というか、修正するとは思わない) ため、より実現可能な解決策を探しています。
ここに私のコードのいくつかの例があります:
VerticalPillBarSkin - hostComponent: 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>
VerticalPillBarButtonSkinSymbolButton
- 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
たVerticalPillBarButton
が、それは機能するオプションではないようです。他に提供できる情報がありましたら、お気軽にお尋ねください。