当前位置: 首页 > 科技观察

Android应用程序资源(AnimationResources)之动画资源

时间:2023-03-15 16:53:33 科技观察

动画资源有两种:属性动画通过在设定的时间内修改Animator类相关对象的属性值来创建动画。视图动画视图动画框架有两种类型的补间动画(Tweenanimation):通过执行一系列与Animation类关联的转换来创建单个图像的动画。帧动画:通过显示与AnimationDrawable类的顺序相关的一系列图片来创建动画。PropertyAnimationAnimation是在XML中定义目标对象要修改的属性,比如设定时间内的背景颜色或alpha值。文件位置:res/animator/filename.xml,文件名用作资源ID。编译资源类型(COMPILEDRSOURCEDATATYPE):资源应指向ValueAnimator、ObjectAnimator或AnimatorSet类型资源引用(RESOURCEREFERENCE):在Java代码中:R.animation.filename在XML文件中:@[package:]animator/filenameSyntax(语法):<动画师android:duration="int"android:valueFrom="float|int|color"android:valueTo="float|int|color"android:startOffset="int"android:repeatCount="int"android:repeatMode=["repeat"|"reverse"]android:valueType=["intType"|"floatType"]/><set>...这个文件必须有一个单脚跟元素:它可以是来将动画元素组织到元素中,包括其他元素。元素(ELEMENTS):可以包含其他动画元素(或其他元素)的容器。表示一个AnimatorSet对象。您可以指定嵌套的标签以将更多动画组合在一起。每个都可以定义自己的顺序属性。属性(ATTRIBUTES):android:ordering键属性,它指定了这个集合中动画的播放顺序。值描述sequently在此集合中顺序播放动画。together(default)同时播放本组内的动画一个对象在特定设定时间内的特定动画属性,代表一个ObjectAnimator对象。属性(ATTRIBUTES):android:propertyName字符串类型,必填。使用此名称来引用动画的对象属性。例如,您可以将“alpha”或“backgroundColor”属性分配给View对象。ObjectAnimator元素不公开目标属性,因此无法在XML声明中对对象进行动画处理。动画XML资源必须通过调用loadAnimator()方法和setTarget()方法填充到包含该属性的目标对象中。android:value为浮点型、整型或颜色值,必填。它是动画属性的结束值。颜色由六个十六进制数字表示(例如#333333)。android:valueFrom浮点型,整型,或颜色值,为动画属性的起始值,如果不指定,则在该属性的get方法获取到该值的时刻开始动画。颜色是六位十六进制数字(例如#333333)。android:duration整型。以毫秒为单位指定动画时间,默认值为300毫秒。android:startOffset整型。调用start()方法后延迟动画的毫秒数。android:repeatCount整型。指定动画重复的次数。设置为“-1”无限重复,或指定一个正整数。比如设置为1,表示动画第一次运行后,会重复一次,所以动画会播放两次。默认值为0,表示不重复。android:repeatMode正整数。指定动画结束时的行为方式。此属性仅在android:repeatCount设置为正整数或“-1”时有效。如果设置为“reverse”,则每次重复播放动画都会反向播放,如果设置为“repeat”,那么每次重复都会从动画开头播放。android:valueType关键属性。如果该值为颜色值,则不要指定该属性。动画框架自动处理颜色值。值说明intType指定动画的值是一个整数floatType(默认值)指定动画的值是一个浮点数在设定的时间内动画。表示一个ValueAnimator对象。属性(ATTRIBUTES):android:value为浮点数,整数或颜色值,必填。它是动画结束时的值。颜色值由六位十六进制数表示(例如,#333333)android:valueFrom浮点型、整数或颜色值,必需。它是动画开始的值。颜色值表示为六位十六进制(例如,#333333)android:duration整数。指定播放动画的时长,以毫秒为单位。默认值为300毫秒。机器人:开始偏移整数。指定在调用start()方法后延迟动画的毫秒数。机器人:重复计数整数。指定动画重复的次数。如果设置为“-1”,则动画无限重复,或者指定一个正整数。例如,如果设置为“1”,动画将在初始运行后重复一次,因此动画总共播放两次。它的默认值为0,表示动画重复。android:repeatMode整数。它指定动画到达终点时如何重复。android:repeatCount必须设置为正整数或“-1”才能使该属性生效。如果设置为“reverse”,则每次重播动画都会反向播放;如果设置为“repeat”,则每次重放动画时,都会从起始位置重新播放。android:valueType键属性,如果值为color,则不需要指定该属性。因为动画框架会自动处理颜色值value描述intType指定动画的值为整数floatType(default)指定动画的值为浮点数示例(EXAMPLE):这个XML文件保存在res/animator/property_animator.xml:要运行这个动画,你必须在代码中将这个XML资源填充到一个AnimatorSet对象中,然后启动这个在动画设置之前,将目标对象设置为所有动画,调用setTarget方法可以方便地将单个对象设置为AnimatorSet对象的所有子对象。代码如下:AnimatorSetset=(AnimatorSet)AnimatorInflater.loadAnimator(myContext,R.anim.property_animator);set.setTarget(myObject);set.start();