使用动画可绘制问题显示动画gif

时间:2011-05-24 08:57:36

标签: android

我正在尝试使用以下代码在循环上制作动画gif动画,但我没有运气......

JAVA

ImageView img = (ImageView)findViewById(R.id.load_img);
img.setBackgroundResource(R.drawable.load_animation);

AnimationDrawable frameAnimation = (AnimationDrawable) img.getBackground();

frameAnimation.start();

XML

<animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/load_0000" android:duration="50" />
<item android:drawable="@drawable/load_0001" android:duration="50" />
<item android:drawable="@drawable/load_0002" android:duration="50" />
<item android:drawable="@drawable/load_0003" android:duration="50" />
<item android:drawable="@drawable/load_0004" android:duration="50" />
<item android:drawable="@drawable/load_0005" android:duration="50" />
<item android:drawable="@drawable/load_0006" android:duration="50" />
<item android:drawable="@drawable/load_0007" android:duration="50" />
<item android:drawable="@drawable/load_0008" android:duration="50" />
<item android:drawable="@drawable/load_0009" android:duration="50" />
</animation-list>

任何人都知道为什么它不是动画?

3 个答案:

答案 0 :(得分:10)

似乎我遇到了同样的问题,当我用它时是setImageResource(R.drawable.load_animation)还是setBackgroundResource(R.drawable.load_animation) android:background="@drawable/load_animation,图片未显示。

然后我尝试将代码放在我的XML视图文件中,AnimationDrawable 得到的图像显示,但仍然没有动画,它只显示静态图像。

然后谷歌搜索了一段时间后我发现onCreate无法在onResume中使用 我们可以将其放在onWindowsFocusChanged public void onWindowFocusChanged(boolean hasFocus) { loadingAnimation = (AnimationDrawable) findViewById(R.id.img_loading).getBackground(); if (hasFocus) { loadingAnimation.start(); } else { loadingAnimation.stop(); } } 中。所以我在这里尝试:

{{1}}

最后它的作品,gif都显示和动画!

答案 1 :(得分:1)

尝试拨打setImageResource(R.drawable.load_animation),而不是setBackgroundResource(R.drawable.load_animation)

答案 2 :(得分:0)

我认为你应该使用img.startxx(frameAnimation)