属性动画

补间动画只是在显示时改变了图片在屏幕上的绘制
实际上组件的位置还在原处没有改变

而属性动画则真正是改变图片的一系列属性,如位置、尺寸、透明度等

看完视频做笔记=_=
中午不吃黄焖鸡+_+

属性动画:ObjectAnimator / PorpertyAnimator

    ImageView iv = findViewId(R.id.draw);
public void Porperty()
    //设置属性 平移
    ObjectAnimator oa1 =ObjectAnimator.
    ofFloat(iv,"translateX",10,70,20,100);
    oa1.setDurtion(2000);
    oa1.setRepetCount(1);
    //设置属性 缩放
    ObjectAnimator oa2 =ObjectAnimator.
    ofFloat(iv,"scaleX",0.5f,1,1,1.2f);
    oa2.setDurtion(2000);
    oa2.setRepetCount(1);
    //设置属性 透明
    ObjectAnimator oa3 =ObjectAnimator.
    ofFloat(iv,"alpha",0.5f,1,0.2f,1);
    oa3.setDurtion(2000);
    oa3.setRepetCount(1);
}

ObjectAnimator oa1 =ObjectAnimator.ofFloat(iv,”translateX”,10,70,20,100);

  • iv:目标图片
  • translateX:目标图片的属性,一次只能操作一条,X/Y是不同属性
  • 后面的属性就是正常的变换,但是可以重复变换,如从10移动到70,再移动到20,再移动到100之类

多次操作合并进行

AnimatorSet set = new AnimatorSet();
//合并操作对象
......
set.playSequentially(oa1,oa2,oa3);
//传如需要操作的条目,如上面写的平移缩放透明,按传入顺序操作,Sequentially是序列的意思
set.playTogether(items);
//传入动画一起进行
set.start();

使用xml文件定义属性动画

定义类型 Property Animation

节点:

    <objectAnimator>
    //因为是在网页上手打的 所以简化了
    propertyName="translateX"
    duration="200"
    repeatCount="1"
    repeatMode="reverse"
    valueFrom="-50"
    valueTo="100"

    </objectAnimator>

在java文件中使用xml属性动画
首先需要填充
在这里,使用的是动画填充器

Animator at = AnimatorInflater.loadAnimator(this,.animator.objectanimator);
at.setTarget(iv);
//设置作用于哪个组件上
at.start();

午睡之后,虽是燥热,却也没了难解的困意。
不知怎的想起一句诗:近乡情更怯,不敢问来人。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值