2011-12-19 11 views
1

我正在構建一個需要在黑莓5上實現的新聞自動收報器。當從一個元素轉換到下一個元素時,我正在查看淡入/淡入過渡。主要是因爲我在Blackberry 5參考資料中找到創建動畫的資源時遇到了問題。操縱黑莓5中的不透明度

我在看的基本流程是:

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

到目前爲止,我都包含在裏面Horizo​​ntalFieldManager的UI元素。我試圖通過Field和Graphics文檔進行挖掘,但沒有找到我正在尋找的內容。

請記住,支持黑莓5是客戶的要求,而不是我的。

+0

嗨,你想要什麼?請在這裏提供一些更多的信息。否則打開這個鏈接,我們將提供http://chat.stackoverflow.com/rooms/4014/knowledge-sharing-center-for-blackberry-and-java – 2011-12-20 04:16:23

+0

如何在UI元素的onFocus/onUnfocus事件上實現一些計時器正在使用ticker ...這些計時器將在任何焦點事件發生時開始動畫。沒有嘗試過,但如果您認爲可以達到理想的輸出結果,您可以嘗試一下。 – Rupak 2011-12-20 04:54:38

回答

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週期(時間很短),但它的作品。