グラデーションの背景色が含まれるように、TabBarの選択されたタブを設定する方法はありますか? fillColors
と を組み合わせてfillAplhas
使用するスタイルになると思いましたが、これにより、以下のコードを実行するとわかるように、選択されていない他のタブの背景色が設定されます。
目標は、選択したタブ インスタンスの背景色をエンド ユーザーに選択させることです (たとえば、ColorPicker を使用して)。そして、この色にグラデーション効果を適用したいと思います。
私はこれをあまりにも長い間機能させようとしてきたので、どんな助けもいただければ幸いです。私はこれをGoogleで際限なく検索しましたが、まだ有効な解決策を得ることができません.
private function updateTabColor():void {
var selectedTabIndex : int = tabBar.selectedIndex;
var tab:Tab = Tab(tabBar.getChildAt(selectedTabIndex));
/* this works but not on the selected tab */
tab.setStyle("fillColors", ["#000000", "000000"]);
tab.setStyle("fillAlphas", [1.0, 0.4]);
/* when not commented and as expected, tab is red */
//tab.setStyle("backgroundColor", "red");
/* when not commented, doesn't work as it appears it's deprecated in 3.0 */
//tab.setStyle("selectedFillColors", "red");
}
<mx:TabBar id="tabBar" dataProvider="viewStack" width="100%" itemClick="{updateTabColor()}"/>
<mx:ViewStack id="viewStack" width="100%" height="100%">
<mx:Box id="tab1" label="tab1" width="100%" height="100%"/>
<mx:Box id="tab2" label="tab2" width="100%" height="100%"/>
<mx:Box id="tab3" label="tab3" width="100%" height="100%"/>
</mx:ViewStack>