我想通过绘制颜色为灰色,白色(与背景匹配),然后再次变灰的路径来创建闪烁效果。我要闪3次,显示灰色1秒,白色1秒灰色,持续1秒等等。
当我为Handler
创建postDelayed()
时,程序跳过run()并且没有在时间集中执行它,并且没有发生闪烁:
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
invalidate(); //calls onDraw()
Log.d(TAG, "Flashing now now");
}
}, 1000);
如何使用计时器实现这种闪烁功能并将其闪烁3次?
谢谢!
答案 0 :(得分:2)
您可以尝试这样的事情,
int delay = 5000; // delay for 5 sec.
int period = 1000; // repeat every sec.
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
public void run() {
System.out.println("done}
}, delay, period);
否则您还有很多其他示例可以关注,例如Example 1,Example 2,Example 3等。如果您仍需要帮助,请与我们联系。
答案 1 :(得分:0)
这是一个工作代码示例,说明我们如何将地球仪从蓝色闪烁到红色再返回。您可以修改内部的代码,以限制您想要的次数和时间延迟。
i