当前位置:   article > 正文

安卓动画学习(六)--xml实现属性动画_android:valuetype 取值

android:valuetype 取值

安卓动画学习--xml实现属性动画

  • 属性动画也可以在xml文件实现,来看看吧

xml文件实现方法

  • 先在res文件下右键,选择Android resource directory 在第二栏resource Type里面,我们可以看到有anim和animator两个选项,第一个是用来创建补间动画的包类型,第二个就是用来创建属性动画的
  • 填写合适的包名,创建成功之后就可以在这个包下创建自己的属性动画的xml文件了

xml文件的结点名

  1. <animator />:对应ValueAnimator
  2. <objectAnimator />:对应ObjectAnimator
  3. <set />:对应AnimatorSet
animator的属性
  1. android:duration:每次动画播放的时长
  2. android:valueFrom:初始动化值;取值范围为float,int和color,如果取值为float对应的值样式应该为89.0,取值为Int时,对应的值样式为:89;当取值为clolor时,对应的值样式为 #333333;
  3. android:valueTo:动画结束值;取值范围同样是float,int和color这三种类型的值;
  4. android:startOffset:动画激活延时;对应代码中的startDelay(long delay)函数;
  5. android:repeatCount:动画重复次数
  6. android:repeatMode:动画重复模式,取值为repeat和reverse;repeat表示正序重播,reverse表示倒序重播
  7. android:valueType:表示参数值类型,取值为intType和floatType;与android:valueFrom、android:valueTo相对应。如果这里的取值为intType,那么android:valueFrom、android:valueTo的值也就要对应的是int类型的数值。如果这里的数值是floatType,那么android:valueFrom、android:valueTo的值也要对应的设置为float类型的值。非常注意的是,如果android:valueFrom、android:valueTo的值设置为color类型的值,那么不需要设置这个参数;
  8. android:interpolator:设置插值器;这个插值器说过很多次了,就不再说了,有需要的同学可以去我的前几篇博客看看
  • xml加载到代码
  1. ValueAnimator valueAnimator = (ValueAnimator) AnimatorInflater.loadAnimator(MyActivity.this,R.animator.animator);
  2. valueAnimator.start();
objectAnimator的属性
  1. android:propertyName:对应属性名,即ObjectAnimator所需要操作的属性名。
  2. 其它字段的意义与animator的意义与取值是一样的,下面再重新列举一下。
  3. - android:duration:每次动画播放的时长
  4. - android:valueFrom:初始动化值;取值范围为float,int和color;
  5. - android:valueTo:动画结束值;取值范围同样是float,int和color这三种类型的值;
  6. - android:startOffset:动画激活延时;对应代码中的startDelay(long delay)函数;
  7. - android:repeatCount:动画重复次数
  8. - android:repeatMode:动画重复模式,取值为repeat和reverse;repeat表示正序重播,reverse表示倒序重播
  9. - android:valueType:表示参数值类型,取值为intType和floatType;与android:valueFrom、android:valueTo相对应。如果这里的取值为intType,那么android:valueFrom、android:valueTo的值也就要对应的是int类型的数值。如果这里的数值是floatType,那么android:valueFrom、android:valueTo的值也要对应的设置为float类型的值。非常注意的是,如果android:valueFrom、android:valueTo的值设置为color类型的值,那么不需要设置这个参数;
  10. - android:interpolator:设置插值器;
  • xml加载到代码
  1. ObjectAnimator animator = (ObjectAnimator) AnimatorInflater.loadAnimator(MyActivity.this,
  2. R.animator.object_animator);
  3. animator.setTarget(mTv1);
  4. animator.start();
  • 同样是使用loadAnimator加载对应的xml动画。然后使用animator.setTarget(mTv1);绑定上动画目标。因为在xml中,没有设置目标的参数,所以我们必须通过代码将目标控件与动画绑定。
set的属性
  • 只有一个属性android:ordering:表示动画开始顺序,取值有两个,together表示同时开始动画,sequentially表示逐个开始动画;
  • xml加载到代码
  1. AnimatorSet set = (AnimatorSet) AnimatorInflater.loadAnimator(MyActivity.this,
  2. R.animator.set_animator);
  3. set.setTarget(mTv1);
  4. set.start();
分析可知
  • 使用xml文件指定只能有一组区间值,不像我们用代码可以指定好几个
  • 使用xml文件不能设置target,只能人为设置
  • 就这些吧,不难理解,个人还是喜欢用代码实现,因为方便灵活
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/332680
推荐阅读
相关标签
  

闽ICP备14008679号