2011-12-19 4 views
1

私はBlackberry 5で実装する必要があるニュースティッカーを作成しています。ある要素から次の要素に移行するときに、フェードアウト/フェードイン移行を検討しています。主に、Blackberry 5のリファレンスでアニメーションを作成する際のリソースを見つけるのが難しいためです。ブラックベリーの不透明度を操作する5

私が探しています基本的な流れは以下のとおりです。

public void updateUI() { 
//fade out 
//set values 
//fade in 
} 

これまでのところ、私はHorizo​​ntalFieldManager内部に含まれるすべてのUI要素を持っています。私はフィールドとグラフィックスのドキュメントを掘り下げようとしましたが、私が探していたものは見つかりませんでした。

Blackberry 5をサポートすることは、クライアントの要件であり、私のものではありません。

+0

あなたは正確に何を望みますか?ここにいくつかの情報を提供してください。それ以外の場合は、このリンクを開きますhttp://chat.stackoverflow.com/rooms/4014/knowledge-sharing-center-for-blackberry-and-java –

+0

UIエレメントのonFocus/onUnfocusイベントでタイマーを実装する方法はありますかティッカー用に使用されています...これらのタイマーは、フォーカスイベント発生時にアニメーションを開始します。試してみませんでしたが、希望の出力を達成できると思ったら、これを試すことができます。 – Rupak

答えて

1

トランジション用のタイマーを使用して、アニメーションを明示的に処理する必要があります。

私の典型的な解決策は、(paint()メソッド内の)このようなものです:

final long time = System.currentTimeMillis(); 
final int alpha; 
if (startFadeIn != 0) { 
    alpha = (int) Math.min((time - startFadeIn)/SPEED, 255); 
     if (alpha < 255) { 
      invalidate(); 
     } 
} else if (startFadeOut != 0) { 
    alpha = (int) Math.max(255 + (startFadeOut - time)/SPEED, 0); 
    if (alpha > 0) { 
     invalidate(); 
    } 
} else { 
    alpha = 255; 
} 
graphics.setGlobalAlpha(alpha); 

それは(短い時間)、いくつかのCPUサイクルを燃やし、それが動作します。