- 补间动画 Treen
- 代码生成
AnimationSet是Animation子类,是一个Animation的组合,里面可以放多个Animation(作用就是实现多个Animation的组合效果)
AnimationSet animationSet=new AnimationSet(true); //这个true的作用是设置set里面的所有动画是否共享同一个速率,如果设置 为
false则须为每个animation单独设置。。。
Animation anim=new Animation() //有四种Animation 比如AlphaAnimation
animationSet.addAnimation(anim);
animationSet.setInterpolator(new ****)设置速率,
animationSet.setDuration(2000);动画时间
animation.setFillAfter(true);
XX.startAnimation(animationSet);
2.定义XML文件
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim"/******
android:shareInterpolator=["true"|"false"]>
<alpha 透明度
android:fromAlpha="float"
android:toAlpha="float">
<scale 大小
/>
<translate 移动
/>
<rotate 旋转
/>
</set>
在java代码中
Animation animation=AnimationUtils.loadAnimation(this,**)
xxx.startAnimation(anim);
- 逐帧动画
android :oneshot="false" > //设置是否循环播放
<item android:drawable="" android:duration=""/>
</animation-list>
在java代码中
一般都是
AnimationDrawable anim=(AnimationDrawable)imageview.getBackground();
anim.start();
LayoutAnimationController的使用
1.java代码的生成
先创立一个Animation(可以通过xml定义,也可以通过构造生成)
Animation anim=new Animation()
LayoutAnimationController lac=new LayoutAnimationController(anim);
lac.setOrder(LayoutAnimationController.ORDER_NORMAL);
listview.serLayoutAnimation(lac);为listview设置layoutanimation,也可以为整个layout设置
2.xml定义
一样的先在anim文件夹下定义一个myanim,在定义一个layoutAnimaion
<layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android"
android:delay="0.5"
android:animationOrder="random|normal"
android:animtion="@anim/myanim"
/>
然后再layout或者listview中设置android:layoutAnimation="@anim/layoutAniamtion"
AnimationListener {
onAnimationEnd(){
在动画播放结束
}
onAnimationRepeat(){
}
onAnimationStart()
{
}
}