フレックスモバイルアプリのステージに追加したボタンのセットがあります...「icon」パラメーターを使用してそれらのボタンに透明なPNGアイコンを設定していますが、の灰色のボックスを非表示にする方法があるかどうか疑問に思いました標準のボタン要素?ボタンがボタンに設定したアイコンとしてのみ表示されるようにするため...または、ボタンのスキンを作成してスタイルを作成するための唯一の方法です(まだ完全には把握していません)。
前もって感謝します。
フレックスモバイルアプリのステージに追加したボタンのセットがあります...「icon」パラメーターを使用してそれらのボタンに透明なPNGアイコンを設定していますが、の灰色のボックスを非表示にする方法があるかどうか疑問に思いました標準のボタン要素?ボタンがボタンに設定したアイコンとしてのみ表示されるようにするため...または、ボタンのスキンを作成してスタイルを作成するための唯一の方法です(まだ完全には把握していません)。
前もって感謝します。
これを行うには多くの方法があります。ButtonSkin
Flextrasが言ったように、通常のSparkが描画するものをすべて削除することができます。ButtonSkin
ただし、クラスを見るBitmapImage
と、ボタンがアイコンを表示するために使用するオブジェクトがないため、それほど単純ではありません。これBitmapImage
は、実際にはButtonSkin
(であるSparkButtonSkin
)の基本クラスで定義されています。
幸いなことに、それを修正するのは簡単です。以下は、基本クラスを拡張し、BitmapImageを追加するスキンです。私がそれを追加し直す理由は
伸びる肌SparkButtonSkin
:
<?xml version="1.0" encoding="utf-8"?>
<s:SparkButtonSkin xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:fb="http://ns.adobe.com/flashbuilder/2009"
minWidth="21" minHeight="21"
alpha.disabled="0.5">
<s:states>
<s:State name="up" />
<s:State name="over" />
<s:State name="down" />
<s:State name="disabled" />
</s:states>
<s:BitmapImage id="iconDisplay" alpha=".75" alpha.over="1" alpha.down=".5" alpha.disabled=".25" />
</s:SparkButtonSkin>
これを回避するもう1つの方法は、ボタンをまったく使用しないことです。ボタンにBitmapImageオブジェクトを使用することで、単純なボタンとして動作するより軽量なバージョンを作成できます。インタラクティブ機能を追加する必要があります(マウスダウンに使用するアイコンを入れ替えるなど)。
<s:BitmapImage source="path/to/my/icon" click="clickHandler()" />