他们以任何方式在画布上进行逐帧动画吗?

时间:2014-08-05 17:56:38

标签: android android-canvas

对于在ImageView的帮助下的正常活动,我们能够获得帧动画(“通过我完成的一些在线教程”)

    img = (ImageView) findViewById(R.id.myimage);
    img.setBackgroundResource(R.drawable.loadimage);
    AnimationDrawable frameAnimation = (AnimationDrawable) img.getBackground();
    frameAnimation.start();

但是在Canvas中我使用Bitmap将图像添加到视图中,他们被卡住了..

    Resources res = getResources();
    Bitmap bitmap = BitmapFactory.decodeResource(res, R.drawable.loadimage);

是他们在画布上做框架动画的任何方式..?

1 个答案:

答案 0 :(得分:2)

您可以使用带有SurfaceView的{​​{1}}创建动画自定义视图,以便正确安排动画时间。

我的想法是从Thread延伸,从SurfaceView获取Canvas,在其上绘制,在屏幕上发布绘图,然后重复(在后台线程中完成) 。一个基本的例子:

SurfaceHolder

要处理视图的大小,您需要覆盖onMeasure()和onSizeChanged()。

为了更好地理解其工作原理: