我正在构建一个需要在Blackberry 5上实现的新闻自动收录器。当从一个元素转换到下一个元素时,我正在寻找一个淡出/淡出过渡。主要是因为我无法在Blackberry 5参考中找到创建动画的资源。
我正在研究的基本流程是:
public void updateUI() {
//fade out
//set values
//fade in
}
到目前为止,我已将所有UI元素包含在HorizontalFieldManager中。我试过挖掘Field和Graphics文档,但没找到我想要的东西。
请记住,支持Blackberry 5是客户的要求,而不是我的要求。
答案 0 :(得分: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周期(很短的时间),但它可以工作。