`
zangwenyang
  • 浏览: 125121 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

animation1

阅读更多

 

参考了网上一个被转载很多次的帖子,加入了自己的理解。

动画

动画效果编程基础

基本动画属性

属性名字

Animation类中对应方法

Description

android:duration

setDuration(long)

Amount of time (in milliseconds) for the animation to run. 

动画持续的时间

android:fillAfter

setFillAfter(boolean)

When set to true, the animation transformation is applied after the animation is over.

True:动画结束以后保持在最后一帧的状态

false:动画结束以后保持在第一帧的状态

xml中不起作用,java中有效

 

默认是false

 

这个元素要设置在set的根元素中

android:fillBefore

setFillBefore(boolean)

When set to true, the animation transformation is applied before the animation has started. 

 

:fillAfter完全相反,

默认值是true;

这个元素要设置在set的根元素中

android:fillEnabled

setFillEnabled(boolean)

When set to true, fillAfter is taken into account. 

这一项fillAfter才起作用

貌似不起作用

android:interpolator

setInterpolator(Interpolator)

Defines the interpolator used to smooth the animation movement in time. 

android:repeatCount

setRepeatCount(int)

Defines how many times the animation should repeat. 

重绘次数

如果是小于0则是无限重复

android:repeatMode

setRepeatMode(int)

Defines the animation behavior when it reaches the end and the repeat count is greater than 0 or infinite. 

重绘的方案

restart

reverse

android:startOffset

setStartOffset(long)

Delay in milliseconds before the animation runs, once start time is reached. 

延后启动n毫秒

Repeat的时候每一次都会停

android:zAdjustment

setZAdjustment(int)

Allows for an adjustment of the Z ordering of the content being animated for the duration of the animation. 

调整动画的zindex

 

 

 

 

 

 

 

透明动画

alpha

<?xml version="1.0" encoding="utf-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android" >

<alpha

android:fromAlpha="0.1"

android:toAlpha="1.0"

android:duration="3000"

/>

<!-- 透明度控制动画效果 alpha

        浮点型值:

            fromAlpha 属性为动画起始时透明度

            toAlpha   属性为动画结束时透明度

            说明:

                0.0表示完全透明

                1.0表示完全不透明

            以上值取0.0-1.0之间的float数据类型的数字

       

        长整型值:

            duration  属性为动画持续时间

            说明:    

                时间以毫秒为单位

-->

</set>

 

<scale>标签:控制大小的变化

<?xml version="1.0" encoding="utf-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android">

   <scale 

          android:interpolator=

                     "@android:anim/accelerate_decelerate_interpolator"

          android:fromXScale="0.0"

          android:toXScale="1.4"

          android:fromYScale="0.0"

          android:toYScale="1.4"

          android:pivotX="50%"

          android:pivotY="50%"

          android:fillAfter="false"

          android:duration="700" />

</set>

<!-- 尺寸伸缩动画效果 scale

       属性:interpolator 指定一个动画的插入器

        在我试验过程中,使用android.res.anim中的资源时候发现

        有三种动画插入器:

            accelerate_decelerate_interpolator  加速-减速 动画插入器

            accelerate_interpolator        加速-动画插入器

            decelerate_interpolator        减速- 动画插入器

        其他的属于特定的动画效果

      浮点型值:

        

            fromXScale 属性为动画起始时 X坐标上的伸缩尺寸   

            toXScale   属性为动画结束时 X坐标上的伸缩尺寸    

       

            fromYScale 属性为动画起始时Y坐标上的伸缩尺寸   

            toYScale   属性为动画结束时Y坐标上的伸缩尺寸   

       

            说明:

                 以上四种属性值   

   

                    0.0表示收缩到没有

                    1.0表示正常无伸缩    

                    值小于1.0表示收缩 

                    值大于1.0表示放大

       

            pivotX     属性为动画相对于物件的X坐标的开始位置

            pivotY     属性为动画相对于物件的Y坐标的开始位置

       

            说明:

                    以上两个属性值 0%-100%中取值

                    50%为物件的XY方向坐标上的中点位置

                                   可以取负值比如-10%

 

        长整型值:

            duration  属性为动画持续时间

            说明:   时间以毫秒为单位

 

        布尔型值:

            fillAfter 属性 当设置为true ,该动画转化在动画结束后被应用

-->

 

< rotate > 旋转

 

<?xml version="1.0" encoding="utf-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android">

<rotate

        android:interpolator="@android:anim/accelerate_decelerate_interpolator"

        android:fromDegrees="0"

        android:toDegrees="+350"        

        android:pivotX="50%"

        android:pivotY="50%"    

        android:duration="3000" /> 

<!-- rotate 旋转动画效果

       属性:interpolator 指定一个动画的插入器

             在我试验过程中,使用android.res.anim中的资源时候发现

             有三种动画插入器:

                accelerate_decelerate_interpolator   加速-减速 动画插入器

                accelerate_interpolator               加速-动画插入器

                decelerate_interpolator               减速- 动画插入器

             其他的属于特定的动画效果

                          

       浮点数型值:

            fromDegrees 属性为动画起始时物件的角度   

            toDegrees   属性为动画结束时物件旋转的角度 可以大于360  

 

       

            说明:

 fromDegrees> toDegrees逆时针,反之顺时针,大于360同样适用

角度差越大速度越快。

 

            pivotX     属性为动画相对于物件的X坐标的开始位置

            pivotY     属性为动画相对于物件的Y坐标的开始位置

               

            说明:        以上两个属性值 0%-100%中取值

                         50%为物件的XY方向坐标上的中点位置

可以取负值比如-10%

 

        长整型值:

            duration  属性为动画持续时间

            说明:       时间以毫秒为单位

-->

</set>

 

<translate>

<?xml version="1.0" encoding="utf-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android">

<translate

android:fromXDelta="30"

android:toXDelta="-80"

android:fromYDelta="30"

android:toYDelta="300"

android:duration="2000"

/>

<!-- translate 位置转移动画效果

        整型值:

            fromXDelta 属性为动画起始时 X坐标上的位置   

            toXDelta   属性为动画结束时 X坐标上的位置

            fromYDelta 属性为动画起始时 Y坐标上的位置

            toYDelta   属性为动画结束时 Y坐标上的位置

            注意:

                     没有指定fromXType toXType fromYType toYType 时候,

                     默认是以自己为相对参照物            

        长整型值:

font-size:

分享到:
评论
2 楼 zangwenyang 2009-12-31  
参照了网上了一篇文章,加入了自己的理解
1 楼 zangwenyang 2009-12-31  
<!-- translate 位置转移动画效果
        整型值:
            fromXDelta 属性为动画起始时 X坐标上的位置   
            toXDelta   属性为动画结束时 X坐标上的位置
            fromYDelta 属性为动画起始时 Y坐标上的位置
            toYDelta   属性为动画结束时 Y坐标上的位置
            注意:
                     没有指定fromXType toXType fromYType toYType 时候,
                     默认是以自己为相对参照物            
        长整型值:
            duration  属性为动画持续时间
            说明:   时间以毫秒为单位

fromXType可选值:
Animation.ABSOLUTE
Animation.RELATIVE_TO_SELF,
Animation.RELATIVE_TO_PARENT
其中relative_to_self是默认值

-->
</set>

相关推荐

Global site tag (gtag.js) - Google Analytics