Android GridView animation动画

本文介绍了在Android中为GridView实现动画的两种方法:Scale和Alpha。对于Scale动画,详细解释了XML配置中的属性,并提供了加载和应用动画的代码示例。而对于Alpha动画,同样展示了如何创建和设置动画,包括随机顺序显示的布局动画。这些教程可以帮助开发者增强GridView的视觉效果。
摘要由CSDN通过智能技术生成

今天研究了一下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"
    android:shareInterpolator="true" >

<scale
        android:duration="500"
        android:fillAfter="false"
        android:fromXScale="0.0"
        android:fromYScale="0.0"
        android:interpolator="@android:anim/decelerate_interpolator"
        android:pivotX="50%"
        android:pivotY="50%"
        android:toXScale="1.0"
        android:toYScale="1.0" />

</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);
                        gridView.setAnimation(anim);
                        anim.start();

然后是alpha动画,用法也是先在anim里创建fade.xml,代码如下:

<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
       android:interpolator="@android:anim/accelerate_interpolator"
       android:fromAlpha="0.0" android:toAlpha="1.0"
       android:duration="@android:integer/config_longAnimTime" />

  备注:

fromAlpha、toAlpha分别表示动画起始、结束时的透明度。

  然后再在anim文件创建layout_random_fade.xml,代码:

<?xml version="1.0" encoding="utf-8"?>
<layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android"
        android:delay="0.5"
        android:animationOrder="random"
        android:animation="@anim/fade" />

  备注:delay表示子类动画时间间隔(延迟);animationOrder表示子类的显示方式,有normal 0 默认、reverse 1 倒序、random 2 随机。

  然后在GridView布局文件中设置android:layoutAnimation="@anim/layout_random_fade"即可,或者在代码中设置,代码如下:

Animation anim = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.fade);
LayoutAnimationController lac=new LayoutAnimationController(animation);
lac.setOrder(LayoutAnimationController.ORDER_RANDOM);
lac.setDelay(1);
gridView.setLayoutAnimation(lac);
  上面就是这两种动画方式。希望对大家有帮助。


 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值