Property Animation 属性动画

 
 
  1. //渐入渐出
  2. <objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:propertyName="alpha"//渐入渐出 此属性必须是被添加动画的view上有对应set方法的属性
  4. android:valueFrom="0"
  5. android:valueTo="1"
  6. android:valueType="floatType"//value type也是对应的view set方法中接收的属性
  7. android:duration="3000"
  8. />
  9. //水平移动
  10. <objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
  11. android:propertyName="translationX"//水平移动
  12. android:valueFrom="0"
  13. android:valueTo="100"
  14. android:valueType="floatType"
  15. android:repeatCount="1" //property animation 中移动之后不能回来 需要设置重复属性
  16. android:repeatMode="reverse"
  17. android:duration="3000"
  18. />

Java代码:

 
 
  1. //利用 AnimatorInflater.loadAnimator方法传入动画,创建ObjectAnimator对象
  2. ObjectAnimator a= (ObjectAnimator) AnimatorInflater.loadAnimator(this,R.animator.object02);
  3. //指定view
  4. a.setTarget(img);
  5. //启动动画
  6. a.start();
  7. //不使用xml配置文件,Java代码实现方式
  8. ObjectAnimator oa= ObjectAnimator.ofFloat(img, "alpha", 0,1);
  9. oa.start();

Property Animation 集合使用:
xml代码:

 
 
  1. <set xmlns:android="http://schemas.android.com/apk/res/android"
  2. android:ordering="sequentially" //ordering set特有属性 可以设置动画同时执行或者顺序执行
  3. >
  4. <objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
  5. android:propertyName="alpha"
  6. android:valueFrom="0"
  7. android:valueTo="1"
  8. android:valueType="floatType"
  9. android:duration="3000"
  10. />
  11. <objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
  12. android:propertyName="translationX"
  13. android:valueFrom="0"
  14. android:valueTo="100"
  15. android:valueType="floatType"
  16. android:repeatCount="1"
  17. android:repeatMode="reverse"
  18. android:duration="3000"
  19. />
  20. </set>

Java 代码:

 
 
  1. //构建AnimatorSet对象 借助AnimatorInflater加载资源文件
  2. AnimatorSet as =(AnimatorSet) AnimatorInflater.loadAnimator(this,R.animator.set);
  3. //给动画指定view
  4. as.setTarget(img);
  5. //启动动画
  6. as.start();
  7. //不使用xml配置文件,Java代码实现方式
  8. ObjectAnimator o1= ObjectAnimator.ofFloat(btn, "alpha", 0,1);
  9. o1.setDuration(3000);
  10. ObjectAnimator o2= ObjectAnimator.ofFloat(img, "translationX", 0,50);
  11. o1.setDuration(3000);
  12. AnimatorSet as = new AnimatorSet();//创建集合
  13. as.playTogether(o1,o2);//设置同时运动
  14. as.start(); //启动动画
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值