Android--补间动画

旋转动画

RotateAnimation ra = new RotateAnimation(0
                        ,720
                        , Animation.RELATIVE_TO_SELF  //相对于自身的0.5
                        ,0.5f
                        ,Animation.RELATIVE_TO_SELF   //相对于自身的0.5
                        ,0.5f);
                ra.setDuration(800);
                ra.setRepeatCount(1);       //循环次数1次
                ra.setRepeatMode(Animation.REVERSE);  //反转
                imageView.startAnimation(ra);

透明度动画

    //参数1:起始透明度 参数2:结束透明度
    AlphaAnimation aa = new AlphaAnimation(1.0f, 0.5f);
    aa.setDuration(2000);
    //停留在动画执行完的状态
    //aa.setFillAfter(true);
    //设置重复次数 实际次数为传的实际参数+1 常量INFINITE代表无限次
    aa.setRepeatCount(Animation.INFINITE);
    //设置重复模式 常量REVERSE是类似钟摆的过度变化效果
    aa.setRepeatMode(Animation.REVERSE);
    //让iv控件执行此动画
    iv.startAnimation(aa);

旋转动画

    ScaleAnimation sa = new ScaleAnimation(1, 2
            , 1, 2
            , Animation.RELATIVE_TO_SELF
            , 0.5f
            , Animation.RELATIVE_TO_SELF
            , 0.5f);
    sa.setDuration(2000);
    iv.startAnimation(sa);

缩放动画

    ScaleAnimation sa = new ScaleAnimation(1, 2
            , 1, 2
            , Animation.RELATIVE_TO_SELF
            , 0.5f
            , Animation.RELATIVE_TO_SELF
            , 0.5f);
    sa.setDuration(2000);
    iv.startAnimation(sa);

平移动画(顺便加上让元素平移出屏幕然后停留在屏幕外面)

    //模拟将图像移出手机屏幕
    //获取当前屏幕的宽度
    int width = getWindowManager().getDefaultDisplay().getWidth();
    //创建平移补间动画对象 参数1:x起始点 参数2:x结束点 参数3:y起始点 参数4:y结束点
    TranslateAnimation ta = new TranslateAnimation(0, width
            , 0, 0);
    //设置停留在平移后的状态
    ta.setFillAfter(true);
    ta.setDuration(2000);
    iv.startAnimation(ta);

多种补间动画同时执行

    AlphaAnimation aa = new AlphaAnimation(1.0f, 0.5f);
    aa.setDuration(2000);
    TranslateAnimation ta = new TranslateAnimation(0, 100
            , 0, 100);
    ta.setDuration(2000);
    ScaleAnimation sa = new ScaleAnimation(1, 2
            , 1, 2
            , Animation.RELATIVE_TO_SELF
            , 0.5f
            , Animation.RELATIVE_TO_SELF
            , 0.5f);
    sa.setDuration(2000);
    AnimationSet as = new AnimationSet(false);
    as.addAnimation(aa);
        as.addAnimation(ta);
        as.addAnimation(sa);
//      as.setDuration(2000);
        iv.startAnimation(as);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值