是否可以将 android 应用程序的背景制作成类似 gif 的动画背景?
Is it possible to make the background of an android app into a animated background like a gif?
我的意思不是将 gif 制作成背景只是移动的背景。提前致谢。感谢任何帮助。
GIF 不能像人们习惯的那样在 Android 框架上工作。
不要使用 GIF,请尝试以下方法来制作背景动画:
- 获取对您要对其背景进行动画处理的小部件的引用。例如
TextView tv;
- 删除内容,只显示背景。
tv.setText("")
- 为您的视图设置自定义背景。
tv.setBackground("Background here")
- 为您的视图设置动画
tv.setAnimation(myAnimation)
- 为您的视图添加动画效果
tv.startAnimation();
好了。官方文档中有很多关于动画的例子和资源。
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 提供 class android.graphics.Movie
。此 class 能够解码和播放 InputStreams。因此,对于这种方法,您可以创建一个 class GifMovieView
并让它继承自 View
:
public class GifMovieView extends View
阅读更多相关信息:
http://droid-blog.net/2011/10/14/tutorial-how-to-use-animated-gifs-in-android-part-1/
参考:
Set Animated .GIF As Background Android
我的意思不是将 gif 制作成背景只是移动的背景。提前致谢。感谢任何帮助。
GIF 不能像人们习惯的那样在 Android 框架上工作。 不要使用 GIF,请尝试以下方法来制作背景动画:
- 获取对您要对其背景进行动画处理的小部件的引用。例如
TextView tv;
- 删除内容,只显示背景。
tv.setText("")
- 为您的视图设置自定义背景。
tv.setBackground("Background here")
- 为您的视图设置动画
tv.setAnimation(myAnimation)
- 为您的视图添加动画效果
tv.startAnimation();
好了。官方文档中有很多关于动画的例子和资源。
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 提供 class android.graphics.Movie
。此 class 能够解码和播放 InputStreams。因此,对于这种方法,您可以创建一个 class GifMovieView
并让它继承自 View
:
public class GifMovieView extends View
阅读更多相关信息:
http://droid-blog.net/2011/10/14/tutorial-how-to-use-animated-gifs-in-android-part-1/
参考:
Set Animated .GIF As Background Android