我有一个由(稍微)不同大小的图像组成的动画列表。我的ImageView
layout_width
和layout_height
设置为wrap_content
。我将动画列表设置为ImageView
的内容并按如下方式启动动画:
AnimationDrawable my_animation_list = (AnimationDrawable)getResources().getDrawable(
R.drawable.my_animation_list);
myImageView.setImageDrawable(my_animation_list)
((AnimationDrawable)myImageView.getDrawable()).start();
我要求并期望ImageView
使用动画列表中的每个帧/图像调整其高度和宽度。相反,看起来ImageView
获取动画列表中第一帧的高度和宽度,然后缩放动画列表中的所有帧以适合此初始高度和宽度。任何人都知道如何获得一个AnimationDrawable
(动画列表),其中包含各种大小的图像,以便与ImageView
一起使用,或者甚至可以解决这个问题?...
答案 0 :(得分:1)
我最后做的是像以前一样从AnimationDrawable
创建我的animation-list
,如下所示......
// declaration in activity
private AnimationDrawable my_animation_list;
// load animation list in onCreate() method of activity or elsewhere
my_animation_list = (AnimationDrawable)getResources().getDrawable(
R.drawable.my_animation_list);
...但是,不是将此AnimationDrawable
分配给我的ImageView
然后启动它(如我的问题所示),我现在要做的是手动将动画列表中的帧分配给我的ImageView
,如下......
myImageView.setImageDrawable(my_animation_list.getFrame(myCurrentFrameIndex));
myCurrentFrameIndex++;
...我使用Handler
发送/接收/处理后续Message
实例来更新显示的帧,确定每帧的持续时间如下:
my_animation_list.getDuration(myCurrentFrameIndex);