我并不是说把gif变成背景只是一个移动的背景。提前致谢。任何帮助表示赞赏。
答案 0 :(得分:4)
Android不支持GIF。作为解决方法,Android提供Animation List/AnimationDrawable。您需要将GIF转换为单独的帧[.png文件]。
这个GIF可以分解为其框架:
将它们保存为frame01.png,frame02.png等,然后创建动画列表XML文件,例如progress_animation.xml
<animation-list android:id="@+id/selected" android:oneshot="false">
<item android:drawable="@drawable/frame01" android:duration="50" />
<item android:drawable="@drawable/frame02" android:duration="50" />
<item android:drawable="@drawable/frame03" android:duration="50" />
....
<item android:drawable="@drawable/frameN" android:duration="50" />
要开始制作动画,您需要将图像投射到AnimationDrawable
,并在其上调用start()
AnimationDrawable progressAnimation = (AnimationDrawable) yourImageView.getBackground();
progressAnimation.start();
Android提供课程android.graphics.Movie
。该类能够解码和播放InputStream。因此,对于这种方法,您可以创建一个类GifMovieView
并让它继承自View
:
public class GifMovieView extends View
了解更多相关信息:
http://droid-blog.net/2011/10/14/tutorial-how-to-use-animated-gifs-in-android-part-1/
参考:
答案 1 :(得分:2)
GIF不像人们习惯的那样在Android框架上运行。 不要使用GIF,请尝试以下操作为背景设置动画:
TextView tv;
tv.setText("")
tv.setBackground("Background here")
tv.setAnimation(myAnimation)
tv.startAnimation();
你去吧。官方文档中有许多关于动画的示例和资源。