android的动画插入器

来源:互联网 发布:php开发步骤 编辑:程序博客网 时间:2024/06/07 01:32
android:interpolator


Interpolator 被用来修饰动画效果,定义动画的变化率,可以使存在的动画效果accelerated(加速)
,decelerated(减速),repeated(重复),bounced(弹跳)等。


 AccelerateDecelerateInterpolator 在动画开始与结束的地方速率改变比较慢,在中间的时候加速


  AccelerateInterpolator  在动画开始的地方速率改变比较慢,然后开始加速


  AnticipateInterpolator 开始的时候向后然后向前甩


  AnticipateOvershootInterpolator 开始的时候向后然后向前甩一定值后返回最后的值


  BounceInterpolator   动画结束的时候弹起


  CycleInterpolator 动画循环播放特定的次数,速率改变沿着正弦曲线


  DecelerateInterpolator 在动画开始的地方快然后慢


  LinearInterpolator   以常量速率改变


  OvershootInterpolator    向前甩一定值后再回到原来位置


需要注意的是:

在插入器写完之后需要在动画里面进行调用

1、这是动画

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"        android:interpolator="@anim/oi" >     //在这个地方进行引用        <translate            android:duration="2000"            android:fromXDelta="0"            android:toXDelta="50" />    </set>
2、这个插入器
<?xml version="1.0" encoding="utf-8"?><anticipateOvershootInterpolator xmlns:android="http://schemas.android.com/apk/res/android"    android:tension="5"    android:extraTension="10"></anticipateOvershootInterpolator>
//这个插入器有很多类型,都在上面了,自己看去










LayoutAnimationController用于为一个layout里面的控件,或者是一个ViewGroup里面的控件设置动画效果,可以在XML文件中设置,亦可以在Java代码中设置。


一种直接在XML文件中设置


1.  在res/anim文件夹下新建一个XML文件,名为list_anim_layout.xml,




[java] view plain copy
<layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android"  
        android:delay="30%"  
        android:animationOrder="reverse"  
        android:animation="@anim/slide_right" />  
android:delay  子类动画时间间隔 (延迟)   70% 也可以是一个浮点数 如“1.2”等
android:animationOrder="random"   子类的显示方式 random表示随机
android:animationOrder 的取值有 
normal 0    默认
reverse 1   倒序
random 2   随机
android:animation="@anim/slide_right" 表示孩子显示时的具体动画是什么


说明:其中delay的单位为秒;animation为设置动画的文件。animationOrder为进入方式
2.  在res/anim文件夹下新建一个XML文件,名为slide_right,即上面用到的文件。




[html] view plain copy
    <set xmlns:android="http://schemas.android.com/apk/res/android"   
        android:interpolator="@android:anim/accelerate_interpolator">  
    <translate android:fromXDelta="-100%p" android:toXDelta="0"  
            android:duration="@android:integer/config_shortAnimTime" />  
</set>  
 显示的效果为ListView第一次出现的时候为 item随机出现 每个Item都是从左不可见(-100%p)的区域向右滑动到显示的地方
3.  在主布局文件中为控件添加如下配置:


android:layoutAnimation="@anim/list_anim_layout",即第一步的布局文件。
1 0
原创粉丝点击