android视图动画

一 概述

本文主要讲解视图动画相关的知识,除了四种基本动画以外,还有set标签的使用。视图动画都可以通过两种方式来使用,一是通过xml,二是只使用代码。视图动画主要分为如下几种动画:

类别描述
alpha透明度动画
scale缩放动画
translate平移动画
rotate旋转动画

以上四种动画,有部分通用的属性和方法,如下表:

xml属性对应方法描述
android:detachWallpapersetDetachWallpaper(boolean)是否在壁纸上运行
android:durationsetDuration(long)动画持续时间,毫秒为单位
android:fillAftersetFillAfter(boolean)动画结束时是否保持在动画最后的状态
android:fillBeforesetFillBefore(boolean)动画结束时是否保持在动画开始前的状态
android:fillEnabledsetFillEnabled(boolean)与android:fillBefore效果相同
android:interpolatorsetInterpolator(Interpolator)设定插值器(后面有讲解)
android:repeatCountsetRepeatCount(int)重复次数
android:repeatModesetRepeatMode(int)重复类型,reverse表示倒序回放,restart表示从头播放
android:startOffsetsetStartOffset(long)调用start函数之后的延迟时间,单位为毫秒
android:zAdjustmentsetZAdjustment(int)动画的内容运行时在Z轴上的位置,上层或者底层(top/bottom/normal),默认为normal

二 alpha动画

alpha动画,即是透明度动画,可以操作透明度,特有属性有

xml属性描述
android:fromAlpha动画开始的透明度
android:toAlpha动画结束的透明度

在代码中,创建AlphaAnimation对象的时候,也可以在构造方法中指定上述的两个参数。AlphaAnimation(float fromAlpha, float toAlpha)

alpha动画相对比较简单。

二 scale动画

缩放动画,动画中可以缩放视图,改变视图的大小,特有的属性如下

xml属性对应方法描述
android:fromXScaleScaleAnimation(float fromX, …)初始x轴缩放比例,1表示原始大小
android:toXScaleScaleAnimation(…, float toX, …)结束X轴缩放比例
android:fromYScaleScaleAnimation(…, float fromY, …)初始Y轴缩放比例
android:toYScaleScaleAnimation(…, float toY, …)结束Y轴缩放比例
android:pivotYScaleAnimation(…, float pivotY)缩放起点Y轴坐标
android:pivotXScaleAnimation(…, float pivotX, …)缩放起点X轴坐标(数值、百分数、百分数p,譬如50表示以当前View左上角坐标加50px为初始点、50%表示以当前View的左上角加上当前View宽高的50%做为初始点、50%p表示以当前View的左上角加上父控件宽高的50%做为初始点)

以上的ScaleAnimation(float fromX, …)代表构造方法时传递的参数。

三 translate

平移动画,动画中可以平移视图,改变视图的位置,特有的属性如下

xml属性对应方法描述
android:fromXDeltaTranslateAnimation(float fromXDelta, …)起始点X轴坐标(数值、百分数、百分数p,譬如50表示以当前View左上角坐标加50px为初始点、50%表示以当前View的左上角加上当前View宽高的50%做为初始点、50%p表示以当前View的左上角加上父控件宽高的50%做为初始点)
android:fromYDeltaTranslateAnimation(…, float fromYDelta, …)起始点Y轴从标,同上规律
android:toXDeltaTranslateAnimation(…, float toXDelta, …)结束点X轴坐标,同上规律
android:toYDeltaTranslateAnimation(…, float toYDelta)结束点Y轴

值得说明的fromXDelta中的x坐标,默认是以控件自己作为参照物。如果是0,则是当前位置。

四 rotate

旋转动画,动画中可以旋转视图,特有的属性如下

xml属性对应方法描述
android:fromDegreesRotateAnimation(float fromDegrees, …)旋转开始角度,正代表顺时针度数,负代表逆时针度数
android:toDegreesRotateAnimation(…, float toDegrees, …)旋转结束角度,正代表顺时针度数,负代表逆时针度数
android:pivotXRotateAnimation(…, float pivotX, …)起点X坐标
android:pivotYRotateAnimation(…, float pivotY)起点Y坐标

以上四种基本动画比较简单,如果需要联合使用可以使用set标签,或者在代码中使用AnimationSet

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值