【发布时间】:2015-06-22 00:18:23
【问题描述】:
我有一个画布,我希望每 50 毫秒更改一次位图图像。
基本上我想要做的就像一个 gif 动画。
如您所见,有 4 张图片,我希望它每 50 毫秒更改一次图片。
下面的代码不起作用,我不知道为什么。
protected void onDraw(final Canvas canvas) {
res = getResources();
image = BitmapFactory.decodeResource(res, R.drawable.image_1);
canvas.drawBitmap(image, 0, 0, paint);
new Thread(new Runnable() {
@Override
public void run() {
while (!Thread.interrupted())
try {
Thread.sleep(50);
System.out.println("OK2");
time++;
((Activity) context).runOnUiThread(new Runnable() {
@Override
public void run() {
if (time == 1) {
image = BitmapFactory.decodeResource(res,
R.drawable.image_1);
canvas.drawBitmap(image, 0, 0, paint);
invalidate();
}
if (time == 2) {
image = BitmapFactory.decodeResource(res,
R.drawable.image_2);
canvas.drawBitmap(image, 0, 0, paint);
invalidate();
}
if (time == 3) {
image = BitmapFactory.decodeResource(res,
R.drawable.image_3);
canvas.drawBitmap(image, 0, 0, paint);
invalidate();
}
if (time >= 4) {
time = 0;
image = BitmapFactory.decodeResource(res,
R.drawable.image_4);
canvas.drawBitmap(image, 0, 0, paint);
invalidate();
}
}
});
} catch (InterruptedException e) {
}
}
}).start();
super.onDraw(canvas);
}
提前致谢。
【问题讨论】:
-
你需要解释到底是什么不工作。