我已经实现了一个可以循环显示6个图像帧的AnimationDrawable。
以下是我正在初始化动画的方法:
animation = new AnimationDrawable();
// images is an ArrayList<BitmapDrawable>
for (Bitmap image : images) {
BitmapDrawable drawable = new BitmapDrawable(mActivity.getResources(), image);
animation.addFrame(drawable, 200);
}
animation.setOneShot(false);
ImageView imageView = (ImageView) findViewById(R.id.backgroundImage);
imageView.setImageDrawable(animation);
// Starter implements Runnable and calls animation.start
imageView.post(new Starter());
当我运行此代码时,动画开始循环显示6个图像帧列表(每个持续时间200毫秒)。我看到的问题是,当它在图像中循环时,它将开始闪烁并显示其中一个帧,就像它是背景图像一样。在每一帧。
可能会有点混乱,所以我会看看我是否可以描述它...因为那里有敏感信息所以无法发布视频。
让我们说6张图片是鱼,草,狗,猫,披萨,苹果。动画应以每帧200毫秒的速度循环显示这些图像。我看到的是,当前显示的帧将消失,披萨帧将显示50-100ms并消失,切换回应显示的帧。每一帧。
我已经在5.0和4.1.1设备上测试过,直到现在才看到这个问题(4.4.4)。任何人都知道可能出现什么问题?
谢谢!
更新 我现在在运行4.4.4的三星Galaxy S4上进行了测试,但没有看到这个问题。可能与摩托罗拉硬件有关吗?