私はフレキシブルな新人です。既存のアプリケーションを強化することを任されています。これらの機能拡張の1つは、現在、時間と日付の表示の間を行き来するようにスムーズにフェードする時間を示すフィールドを取得することです。フレックスエフェクトが完了するのを待つ
これを行う適切な方法は、アプリケーションにフォントファイルを埋め込むことです。そのため、ラベルを直接フェードインまたはフェードアウトすることができます。できれば私はできるだけ邪魔にならないようにしたいと思っています。
私は、妥当な回避策だと思いました。時計の背景の正確なサイズ、形、色と同じように起こる「プライバシー画面」を作成してください。そのアルファを0に初期化する。時刻/日付を変更するときは、プライバシー画面をフェードインして変更し、画面を再びフェードアウトさせます。
コードは、このようなものになります。私は経験豊富なFlexの設計者が既に知っていると確信しているように、このコードは、
<mx:Label text="" id="mylabel" width="100%" height="100%" x="0" y="0" color="0xff0000"/>
<mx:Canvas id="privacyScreen" width="100%" height="100%" x="0" y="0" alpha="1" backgroundColor="{myConfiguration.backgroundColor}"/>
<mx:Fade id="effectFadeIn" alphaFrom="0.0" alphaTo="1.0" duration="250"/>
<mx:Fade id="effectFadeOut" alphaFrom="1.0" alphaTo="0.0" duration="250"/>
:このように見て重要なコンポーネントと
var targets:Array = new Array();
targets.push(this.privacyScreen);
this.effectFadeIn.play(targets);
this.mylabel.text = "I am a date and/or time";
this.effectFadeOut.play(targets);
を...おいしい新鮮な絞ったFAILから作られています。実行がフェードイン効果を終了するのを待つという基本的な仮定は間違っており、フェードインがまだ進行中の間は明らかに無視されます。
だから、私は二つの関連質問があると思います:
- が完了するまで実行する効果を待っている間に一時停止し、実行を取得することが可能ですか?
- この方法も有効ですか、それともDoing Itを上から下に間違えてしまうのですか?
誰もが提供できる洞察に感謝します。
(そして、私はより多くの私が行うことによって、これを学ぼうと、より多くの私はそこにオンラインtrainingresourcesのいくつかの自分自身を利用するために必要実現することを事前に認める。)
ああ! "effectEnd"パラメータは、これを取り除くために必要なメカニズムでした。このサンプルコードは、概念を非常にきれいに示しています。あなたは感謝しています。 – BlairHippo
あなたの投稿は本当に私に本当の悲しみを惜しみませんでした。ありがとう! – noogrub