对于在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);
是他们在画布上做框架动画的任何方式..?
答案 0 :(得分:2)
您可以使用带有SurfaceView
的{{1}}创建动画自定义视图,以便正确安排动画时间。
我的想法是从Thread
延伸,从SurfaceView
获取Canvas
,在其上绘制,在屏幕上发布绘图,然后重复(在后台线程中完成) 。一个基本的例子:
SurfaceHolder
要处理视图的大小,您需要覆盖onMeasure()和onSizeChanged()。
为了更好地理解其工作原理: