如何用一种颜色连续闪烁 LabelField 文本?在 Android 中,它可以通过 AlphaAnimation 来完成。我如何在黑莓上做到这一点?
问问题
145 次
2 回答
2
如果你不想扩展LabelField
,你可以安排一个在实例上重复TimerTask
设置一个空文本和原始文本。LabelField
在这种情况下,LabelField
每次更改文本时都会更改范围。所以,这个答案对我来说似乎是最完美的。检查该答案的草稿(未编译,未测试)实施。
LabelField 修改
LabelField lbl = new LabelField() {
private boolean blinkFlag = false;
protected void paint(Graphics g) {
blinkFlag = !blinkFlag;
if (blinkFlag == false) {
super.paint(g);
}
}
};
调度 TimerTask
final int blinkInterval = 1000;
TimerTask blinkTask = new TimerTask() {
public void run() {
UiApplication.getUiApplication().invokeLater(new Runnable() {
public void run() {
lbl.invalidate();
});
}
}
};
(new Timer()).schedule(blinkTask , blinkInterval);
于 2012-09-13T06:04:00.033 回答
2
扩展LabelField
类并覆盖其paint(Graphics g)
方法以在连续调用时绘制/擦除文本。
然后实现 a并使用类实例TimerTask
启动它。Timer
此任务应定期使您的自定义标签字段无效,例如 - 每秒钟。
invalidate()
调用将导致字段重绘和标签文本将闪烁。
于 2012-09-13T05:36:11.393 回答