Android 动画之Tween动画详细讲解

Tween动画在Android中分为4类,它们分别是:AlphaAnimation(透明度动画)、TranslateAnimation(平移动画)、ScaleAnimation(缩放动画)、RotateAnimation(旋转动画)。都继承自android.view.Animation类,它们都是表示从一个状态A向状态B变化的一个过程,所以英文名字叫Tween动画、中文名叫:“补间动画”、“中间动画”。它们总的说来有两种实现方式:java code(java源代码)、xml(xml配置文件),这里先从java code开始

以前就是因为每中Tween动画都有很多构造函数不清楚,现在仔细看了下,记录下来方便以后查看

AlphaAnimation(透明度动画)

AlphaAnimation有两个构造函数,分别是:

—— AlphaAnimation(Context context, AttributeSet attrs):第二个参数是个属性集,之后会详细对AttributeSet 讲解

——AlphaAnimation(float fromAlpha, float toAlpha):第一个参数是初始透明度,第二个参数是终止透明度

TranslateAnimation(平移动画)

TranslateAnimation有三个构造函数,分别是:

——TranslateAnimation(Context context, AttributeSet attrs):略过

——TranslateAnimation(float fromXDelta, float toXDelta, float fromYDelta, float toYDelta):分别对应x轴的起始、终点 坐标,与y轴的起始、终点坐标

——TranslateAnimation(int fromXType, float fromXValue, int toXType, float toXValue, int fromYType, float fromYValue, int toYType, float toYValue):第一个参数是x轴方向的值的参照(Animation.ABSOLUTE, Animation.RELATIVE_TO_SELF, or Animation.RELATIVE_TO_PARENT);第二个参数是第一个参数类型的起始值;第三个参数与第四个参数是x轴方向的

终点参照与对应值;后面四个参数就不用解释了。如果全部选择Animation.ABSOLUTE,其实就是第二个构造函数。

以x轴为例介绍参照与对应值的关系

如果选择参照为Animation.ABSOLUTE,那么对应的值应该是具体的坐标值,比如100到300,指绝对的屏幕像素单位

如果选择参照为Animation.RELATIVE_TO_SELF或者 Animation.RELATIVE_TO_PARENT指的是相对于自身或父控件,

对应值应该理解为相对于自身或者父控件的几倍或百分之多少。一定要多试试这几个参数类型!

ScaleAnimation(缩放动画)

ScaleAnimation(缩放动画)有四个构造函数,分别是:

——ScaleAnimation(Context context, AttributeSet attrs):略过

——ScaleAnimation(float fromX, float toX, float fromY, float toY):同TranslateAnimation(float fromXDelta, float toXDelta, float fromYDelta, float toYDelta)

——ScaleAnimation(float fromX, float toX, float fromY, float toY, float pivotX, float pivotY):这里解释后面两个参数,pivot

英文意思为“枢轴”,也就是支点。通过这两个参数可以控制缩放动画的放大方向,这个点不会随对象大小变化而变化

——ScaleAnimation(float fromX, float toX, float fromY, float toY, int pivotXType, float pivotXValue, int pivotYType, float pivotYValue):如果理解了前面所讲的,这个就不做多的说明,如果不清楚,请回头多用代码试试。

RotateAnimation(旋转动画)

RotateAnimation(旋转动画)同样有四个构造函数,分别是:

——RotateAnimation(Context context, AttributeSet attrs)

——RotateAnimation(float fromDegrees, float toDegrees)

——RotateAnimation(float fromDegrees, float toDegrees, float pivotX, float pivotY)

——RotateAnimation(float fromDegrees, float toDegrees, int pivotXType, float pivotXValue, int pivotYType, float pivotYValue)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值