有没有办法在动态壁纸的位图上绘制逐帧动画? 我有以下代码,框架确实显示在动态壁纸上。 然而,它们都是同时出现而不是一个接一个地出现。 似乎帧之间没有持续时间。
有人可以帮忙吗? 提前谢谢。
代码:
int frame = 0;
for (;frame < 8; frame ++)
{
int[] pirates_frame = {
R.drawable.frame1, R.drawable.frame2, R.drawable.frame3,
R.drawable.frame4, R.drawable.frame5, R.drawable.frame6,
R.drawable.frame7, R.drawable.frame8,};
icon = BitmapFactory.decodeResource(getResources(),pirates_frame[frame]);
canvas.drawBitmap(icon, x2, y2, null);
System.out.println("frame is : " + frame);
icon.recycle();
}
答案 0 :(得分:1)
那里没有时间延迟。它会立即循环直到完成。您应该尝试使用具有延迟的runnable或线程来绘制每个帧。
这里有一个使用runnables的好教程:http://www.vogella.com/tutorials/AndroidLiveWallpaper/article.html
另外,我建议不要在for循环中初始化你的pirates_frame,因为你正在做同样的事情8次,在某些情况下,这可能会让事情变慢。