Android笔记-Android动画
好久没自己写动画了,感觉都快忘了。为了加深印象自己写又把以前的书看了一下写个小DEMO。这篇文章是自己对动画的一些理解主要有:
- Frame动画
- Tween动画
先看效果图
Frame动画
Frame动画就是将一组图片按一定顺序显示出来,这样连续效果,产生一种动画的效果。使用animation-list元素,oneshot属性控制是否循环,true只播放一次,false循环播放。添加item子元素。实现xml代码
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false">
<item android:drawable="@mipmap/b_00000" android:duration="100" />
<item android:drawable="@mipmap/b_00001" android:duration="100" />
<item android:drawable="@mipmap/b_00002" android:duration="100" />
<item android:drawable="@mipmap/b_00003" android:duration="100" />
<item android:drawable="@mipmap/b_00004" android:duration="100" />
<item android:drawable="@mipmap/b_00005" android:duration="100" />
</animation-list>
将动画添加到ImageView作为背景
<ImageView
android:id="@+id/iv_animation"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/animation_bobo" />
使用AnimationDrawable让图片里的MM扭起来
private void initView() {
mIvAnimation = (ImageView) findViewById(R.id.iv_animation);
anim = (AnimationDrawable) mIvAnimation.getBackground();
anim.start();
}
Tween动画
Tween动画也叫做“补间”动画,顾名思义中间是补充的,开发者只要指定初识状态和结束状态就好了,中间的让系统计算补齐。创建Tween动画需要使用Animation的子类来实现
- TranslateAnimation 位移
- ScaleAnimation 缩放
- RotateAnimation 旋转
- AlphaAnimation 透明度
让图片里的MM往前移动
TranslateAnimation tran = new TranslateAnimation(curX ,nextX, 0, 0);
tran.setDuration(100);
mIvAnimation.startAnimation(tran);