一、逐帧动画
1、res下新建drawable文件夹
2、new一个文件animation_list_eat.xml
3、<?xml version="1.0" encoding="utf-8"?>
android:oneshot="false">
android:drawable="@drawable/eat_00000"
android:duration="20" />
android:drawable="@drawable/eat_00001"
android:duration="20" />
android:drawable="@drawable/eat_00002"
android:duration="20" />
android:drawable="@drawable/eat_00003"
android:duration="20" />
android:drawable="@drawable/eat_00004"
android:duration="20" />
android:drawable="@drawable/eat_00005"
android:duration="20" />
android:drawable="@drawable/eat_00006"
android:duration="20" />
android:drawable="@drawable/eat_00007"
android:duration="20" />
android:drawable="@drawable/eat_00008"
android:duration="20" />
android:drawable="@drawable/eat_00009"
android:duration="20" />
android:drawable="@drawable/eat_00010"
android:duration="20" />
android:drawable="@drawable/eat_00011"
android:duration="20" />
android:drawable="@drawable/eat_00012"
android:duration="20" />
android:drawable="@drawable/eat_00013"
android:duration="20" />
android:drawable="@drawable/eat_00014"
android:duration="20" />
android:drawable="@drawable/eat_00015"
android:duration="20" />
android:drawable="@drawable/eat_00016"
android:duration="20" />
android:drawable="@drawable/eat_00017"
android:duration="20" />
android:drawable="@drawable/eat_00018"
android:duration="20" />
android:drawable="@drawable/eat_00019"
android:duration="20" />
android:drawable="@drawable/eat_00020"
android:duration="20" />
android:drawable="@drawable/eat_00021"
android:duration="20" />
android:drawable="@drawable/eat_00022"
android:duration="20" />
android:drawable="@drawable/eat_00023"
android:duration="20" />
android:drawable="@drawable/eat_00024"
android:duration="20" />
android:drawable="@drawable/eat_00025"
android:duration="20" />
android:drawable="@drawable/eat_00026"
android:duration="20" />
android:drawable="@drawable/eat_00027"
android:duration="20" />
android:drawable="@drawable/eat_00028"
android:duration="20" />
android:drawable="@drawable/eat_00029"
android:duration="20" />
android:oneshot="false" true、false是否执行一次
4、布局文件
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
5、java文件
private AnimationDrawableanimationDrawable;
private ImageViewimageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView= findViewById(R.id.imageView);
imageView.setBackgroundResource(R.drawable.animation_list_eat);
animationDrawable = (AnimationDrawable)imageView.getBackground();
animationDrawable.start();
}
二、补间动画
res下新建anim文件夹
xml文件里只有sacle(缩放效果)、rotate(旋转效果)、translate(移动效果)、alpha(淡入淡出效果)、set五个标签
在代码中使用AnimationUtils.loadAnimation()方法加载动画
使用View.setAnimation(Animation)为View控件加载动画,使用View.startAnimation()开启动画
通用属性:
a.android:duration:设置动画持续时间
b.android:fillAfter:如果fillAfter为true,则动画执行后,控件将停留在动画结束的状态
c.android:fillBefore:如果fillBefore为true,则动画执行后,控件将回到动画开始的状态
d.android:startOffset(long startOffset):设置动画执行前等待的时间(单位:毫秒)
e.android:interpolator:设置动画的变化速度
<?xml version="1.0" encoding="utf-8"?>
android:duration="2000"
android:fillAfter="true">
android:fromXDelta="0"
android:toXDelta="500" />
Animation animation = AnimationUtils.loadAnimation(this, R.anim.tanslationy);
btn.startAnimation(animation);
三、属性动画
res下新建animator文件夹
①animator文件夹下存放property animation(属性动画)
②xml文件里有animator、objectAnimator、set三个标签
③在代码中使用AnimatorInflater.loadAnimator()方法加载动画
④使用Animator.setTarget(View)为View控件加载动画,使用Animator.start()开启动画
网友评论