Android 补间动画属性详解

作者: 一剑飙血_18e7 | 来源:发表于2017-07-20 13:24 被阅读0次

    关于android的动画网上介绍已经很多了,写的好的文章也有很多,自己记录一下关于补间动画的属性:

    1.补间动画种类


    java类名                                          xml                                                      描述信息


    AlphaAnimation                放置在res/anim/目录下                   渐变透明度动画效果


    RotateAnimation              放置在res/anim/目录下                  画面转移旋转动画效果 


    ScaleAnimation                放置在res/anim/目录下                  渐变尺寸伸缩动画效果


    TranslateAnimation         放置在res/anim/目录下                画面转换位置移动动画效果


    AnimationSet                  放置在res/anim/目录下         一个持有其它动画元素alpha、scale、                         

                                                                                            translate、rotate或者其它set元素的容器


    上面是关于补间动画的种类,关系以及作用。

    2-1. Animation属性详解(xml和java方式)


                  xml属性                                         java方法                                                  释义


    android:detachWallpaper        setDetachWallpaper(boolean)               是否在壁纸上运行


    android:duration                      setDuration(long)                              动画持续时间,毫秒为单位


    android:fillAfter                       setFillAfter(boolean)      控件动画结束时是否保持动画最后的状态


    android:fillBefore                    setFillBefore(boolean)   控件动画结束时是否还原到开始前的状态


    android:fillEnabled                 setFillEnabled(boolean)                   与android:fillBefore效果相同


    android:interpolator              setInterpolator(Interpolator)       设定插值器(指定的动画效果,   

                                                                                                                            譬如回弹等)


    android:repeatCount              setRepeatCount(int)                                     重复次数


    android:repeatMode              setRepeatMode(int)                  重复类型有两个值,reverse表示               

                                                                                                         倒序回放,restart表示从头播放


    android:startOff                   setsetStartOffset(long)               调用start函数之后等待开始运行的

                                                                                                                     时间,单位为毫秒


    android:zAdjustment           setZAdjustment(int)          表示被设置动画的内容运行时在Z轴位置

                                                                                              (top/bottom/normal),默认为normal


    上面的这些属性无论哪一种补间动画都是具备的,可以设置一个或多个,属于补间动画的通用属性。下面介绍每种补间动画的特有属性:

    2-2-1.Alpha(透明变化,淡入淡出效果)属性详解


                 xml属性                                              java方法                                             释义


    android:fromAlpha          AlphaAnimation(float fromAlpha, …)         动画开始的透明度(0.0到

                                                                                                          1.0,0.0是全透明,1.0是不透明)


    android:toAlpha            AlphaAnimation(…, float toAlpha)                 动画结束的透明度,同上


    2-2-2.Translate(位移)属性详解


                 xml属性                                             java方法                                                释义


    android:fromXDelta    TranslateAnimation(float fromXDelta, …)    起始点X轴坐标(数值、百分数、百分数p,譬如50表示以当前View左上角坐标加50px为初始点、50%表示以当前View的左上角加上当前View宽高的50%做为初始点、50%p表示以当前View的左上角加上父控件宽高的50%做为初始点)


    android:fromYDelta     TranslateAnimation(…, float fromYDelta, …)      起始点Y轴坐标(同上)                              


    android:toXDelta         TranslateAnimation(…, float toXDelta, …)           结束点X轴坐标(同上)


    android:toYDelta         TranslateAnimation(…, float toYDelta)                结束点Y轴坐标(同上)


    2-2-3.Scale(缩放大小)属性详解


                  xml属性                                   java方法                                                释义


    android:fromXScale         ScaleAnimation(float fromX, …)        初始x轴缩放比例(0.0~1.0)


    android:fromYScale        ScaleAnimation(…, float fromY, …)     初始y轴缩放比例(0.0~1.0)


    android:pivotX              ScaleAnimation(…, float pivotX, …)      缩放起点x位置坐标(数值、百分数、百分数p,譬如50表示以当前View左上角坐标加50px为初始点、50%表示以当前View的左上角加上当前View宽高的50%做为初始点、50%p表示以当前View的左上角加上父控件宽高的50%做为初始点)


    android:pivotY               ScaleAnimation(…, float pivotY)          缩放起点y位置坐标,(同上)


    android:toXScale           ScaleAnimation(…, float toX, …)          结束x轴缩放比例(0.0~1.0)


    android:toYScale           ScaleAnimation(…, float toY, …)          结束y轴缩放比例(0.0~1.0)


    2-2-4.Rotate(旋转)属性详解


                  xml属性                                  java方法                                                释义


    android:fromDegrees  RotateAnimation(float fromDegrees, …)  旋转开始角度,正代表顺时针度


    android:pivotX          RotateAnimation(…, float pivotX, …)  旋转起点X坐标(数值、百分数、百分数p,譬如50表示以当前View左上角坐标加50px为初始点、50%表示以当前View的左上角加上当前View宽高的50%做为初始点、50%p表示以当前View的左上角加上父控件宽高的50%做为初始点)


    android:pivotY         RotateAnimation(…, float pivotX, …)  旋转起点Y坐标,同上


    android:toDegrees  RotateAnimation(…, float toDegrees, …) 旋转结束角度,正代表顺时针度数


    2-2-5 set标签以及AnimationSet详解

    AnimationSet继承自Animation,是上面四种的组合容器管理类,没有自己特有的属性,他的属性继承自Animation,所以特别注意,当我们对set标签使用Animation的属性时会对该标签下的所有子控件都产生影响。

    2-3 -1 Animation类的常用方法


    Animation类的方法                                                                        释义


    reset()                                                                               重置Animation的初始化


    cancel()                                                                             取消Animation动画


    start()                                                                                开始Animation动画  


    setAnimationListener(AnimationListener listener)      给当前Animation设置动画监听


    hasStarted()                                                                     判断当前Animation是否开始


    hasEnded()                                                                       判断当前Animation是否结束


    2-3-2 View类的常用动画操作方法

    既然补间动画只能给View使用,那就来看看View中和动画相关的几个常用方法吧,如下:


    View类的常用动画方法                                                          释义


    startAnimation(Animation animation)             对当前View开始设置的Animation动画


    clearAnimation()                                               取消当View在执行的Animation动画


    记录一下。

    源码地址:动画示例demo

    相关文章

      网友评论

        本文标题:Android 补间动画属性详解

        本文链接:https://www.haomeiwen.com/subject/ubddkxtx.html