今天研究了一下GridView的animation,研究了两种方式:一种是Scale;一种是alpha。
先介绍一下scale类型,这种类型的动画和一般动画的使用方法一样。首先在res资源文件下创建anim文件,在创建动画fly_in_from_center.xml。代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
<scale
</set>
备注:fromXScale[float]、fromYScale[float]、toXScale[float]、toYScale[float]分别表示动画起始、结束时,X、Y坐标上的伸缩尺寸,0.0表示收缩到没有,1.0表示正常无伸缩;
pivotX[float]、pivotY[float]为动画相对物件额X、Y坐标的开始位置,从0%-100%中取值,50%为物件的X或Y方向坐标上的中点位置。
Duration[long]表示动画持续时间。
interpolator 表示指定一个动画的插入器,accelerate_decelerate_interpolator 加速-减速 动画插入器、accelerate_interpolator 加速-动画插入器、decelerate_interpolator 减速- 动画插入器。
fillAfter [boolean]表示当设置为true,该动画转化在动画结束后被应用。
然后在代码中设置动画,代码如下:
Animation anim = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.fly_in_from_top_corner);
然后是alpha动画,用法也是先在anim里创建fade.xml,代码如下:
<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
fromAlpha、toAlpha分别表示动画起始、结束时的透明度。
<?xml version="1.0" encoding="utf-8"?>
<layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android"
Animation anim = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.fade);
LayoutAnimationControlle
lac.setOrder(LayoutAnimationControlle
lac.setDelay(1);
gridView.setLayoutAnimation(lac);