Drawable Animation (Drawable动画)
程序员文章站
2024-03-24 08:37:52
...
1. 介绍
Drawable Animation 可以实现依次加载一组 Drawable 资源, 它和早期的电影一样 , 加载一组不同的图片,然后像胶卷一样播放就形成了动画.
可以使用 ** AnimationDrawable
**类的相关API 在代码中动态加载动画帧数据. 最容易实现的方式是使用一个单独的XML来罗列出播放动画需要的Drawable图片资源 . 这个XML文件要存放在res/drawable
路径下.
2. XML实现方式.
2.1 在 res/drawable/
路径下创建 wifi_wave.xml
文件.
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="true">
<item android:drawable="@drawable/wifi1" android:duration="200" />
<item android:drawable="@drawable/wifi2" android:duration="200" />
<item android:drawable="@drawable/wifi3" android:duration="200" />
</animation-list>
- 根节点使用 :
<animation-list>
1.1android:oneshot="true"
动画是否只执行一次.- 每一帧动画使用一个
<item>
节点.
2.1android : drawable
图片资源引用.
2.2android:duration
当前图片资源的播放时间.
2.2 引用
AnimationDrawable wifiAnimation;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ImageView wifiImage = (ImageView) findViewById(R.id.wifi_wave);
wifiImage.setBackgroundResource(R.drawable.wifi_wave);
wifiAnimation = (AnimationDrawable) rocketImage.getBackground();
}
public void btnClicked(View view){
// 开始动画.
wifiAnimation.start();
}
注意尽量不要在
onCreate()
中调用start()
方法. 因为此刻资源文件可能还没有完全加载完成 . 如果想在一开始就进行动画可以考虑在 onWindowFocusChanged()回调中调用start()
.
上一篇: 自定义Drawable
下一篇: Android 转场动画
推荐阅读
-
android drawable.setAlpha设置无效的解决办法
-
自定义Drawable
-
代码创建可绘制对象 Drawable
-
Android动画篇——Drawable Animation(帧动画)
-
Drawable Animation (Drawable动画)
-
获取Drawable目录下的资源
-
Custom View Controller Transition Animation iOS自定义VC转场动画
-
【iOS】一个取巧的弹出式动画实现以及后续的iOS动画学习(第一部分:基于CALayer的Core Animation框架)
-
android 各种控件颜色值的设置(使用Drawable,Color)
-
关于Android中drawable必知的一些规则