android 属性动画 位移出父控件,Android动画详解(二) 补间动画

1、 补间动画说明

定义好动画的起始帧和结束帧以及播放时长,动画过程中的帧由计算机计算得出。补间动画又可以分为四种形式,分别是 alpha(透明度变化),translate(位移),scale(缩放大小),rotate(旋转)。

2、实现方式

2.1 创建目录res/anim,在res/anim目录下创建文件anim.xml

2.2 alpha动画(透明度)

2.2.1 xml配置文件

fromAlpha 动画开始透明度

toAlpha 动画结束透明度

透明度1.0为完全不透明,0.0为完全透明

android:fromAlpha="1.0"

android:toAlpha="0.0">

alpha>

2.2.2 代码调用

Animation animation = AnimationUtils.loadAnimation(AnimationActivity.this,R.anim.alpha_anim);

animation.setDuration(4000);

anim_iv.startAnimation(animation);

2.2.3 效果

bc4ac3b342d943c6b595b64bb7dace3b.png

2.3 translate动画(位移)

2.3.1 xml配置文件

fromXDelta位移起始X轴坐标

toXDelta位移结束X轴坐标

fromYDelta位移起始Y轴坐标

toYDelta位移结束Y轴坐标

android:fromXDelta="0"

android:toXDelta="700"

android:fromYDelta="0"

android:toYDelta="0" >

translate>

2.3.2 效果

4e596a8c4548fd500ef10ceef5ca3462.png

2.4 scale动画(缩放)

2.4.1 xml配置文件

fromXScale X轴起始缩放比例

fromYScale Y轴起始缩放比例

toXScale X轴结束缩放比例

toYScale Y轴结束缩放比例

pivotX 缩放中心X轴坐标

pivotY 缩放中心Y轴坐标

android:fromXScale="0.0"

android:fromYScale="0.0"

android:pivotX="50%"

android:pivotY="50%"

android:toXScale="1.0"

android:toYScale="1.0">

scale>

2.4.2 效果

4977ac7b43be56307f2b5ebe7995b002.png

2.5 rotate动画(旋转)

2.5.1 xml配置文件

fromDegrees旋转起始角度

fromDegrees旋转结束角度

pivotX旋转中心X轴坐标

pivotY旋转中心Y轴坐标

android:fromDegrees="0"

android:toDegrees="360"

android:pivotX="70"

android:pivotY="70" >

rotate>

2.5.2 效果

2.6 pivot属性说明

pivot属性在rotate动画和scale动画中出现,这2个动画发生时View都是以固定的点位进行动画,对这一固定点位的描述需要使用pivot属性。

pivotX的取值

含义

10

距离动画所在view自身左边缘10像素

10%

距离动画所在view自身左边整个View宽度的10%

10%p

距离动画所在view父控件左边整个View宽度的10%

2.7 使用set 标签将多个动画组合

2.7.1 xml配置同时实现透明变化——位移——缩放——旋转

android:toAlpha="1.0"

android:duration="2000">

alpha>

android:toXDelta="400"

android:fromYDelta="0"

android:toYDelta="500"

android:duration="4000">

translate>

android:toDegrees="360"

android:pivotX="0%"

android:pivotY="0%"

android:duration="2000">

rotate>

android:fromYScale="0.0"

android:pivotX="50%"

android:pivotY="50%"

android:toXScale="1.0"

android:toYScale="1.0"

android:duration="2000">

scale>

set>

2.7.2 效果

5a108abd71174b4c70ab1ecfac49e178.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值