我在我的应用程序中有一个带有ImageViews的GridView,它有动画(来自xml文件的动画列表)设置为背景和前景(可绘制) - 每个都不同。我使用此代码来启动动画:
((AnimationDrawable)unitsGrid.getChildAt(i).findViewById(R.id.img).getBackground().stop();
((AnimationDrawable)((ImageView)unitsGrid.getChildAt(i).findViewById(R.id.img)
.getBackground()).getDrawable().stop();
((AnimationDrawable)unitsGrid.getChildAt(i).findViewById(R.id.img).getBackground().start();
((AnimationDrawable)((ImageView)unitsGrid.getChildAt(i).findViewById(R.id.img)
.getBackground()).getDrawable().start();
它在我的真实设备(4.4.2)中工作,在API 15-21中的AVD模拟器中工作(我不在较低的测试中)。当我在AVD上的API 22或23上运行它时,它只是动画背景,前景(可绘制)不是动画(它在第一帧中就像在开始时)但是应用程序正常工作。动画的持续时间超过1秒,因此不会滞后。
谷歌在API 22中改变了一些内容,不再支持图像前景动画了,它在那些API上有问题,或者它只是模拟器的错误?
有人知道一些事情吗?
提前致谢。