Android补间动画实战:位移、缩放、旋转、透明详解

0 下载量 192 浏览量 更新于2024-08-29 收藏 78KB PDF 举报
"Android补间动画的基本应用,包括位移、缩放、旋转和透明效果。补间动画是指在物体变换形态过程中填充过渡效果的动画形式。本文将介绍如何实现这些基本操作。" 在Android中,补间动画是通过操纵View对象的位置、大小和透明度等属性来创建平滑的过渡效果。以下是关于位移、缩放、旋转和透明的详细说明: ### 位移 (Translation) 位移动画`TranslateAnimation`用于改变View的位置。在创建位移动画时,需要设置四个参数: 1. 起点X坐标:`fromXDelta`,可以是绝对值或相对于自身位置的相对值。 2. 终点X坐标:`toXDelta`,同样可以是绝对值或相对于自身位置的相对值。 3. 起点Y坐标:`fromYDelta`。 4. 终点Y坐标:`toYDelta`。 例如: ```java TranslateAnimation ta = new TranslateAnimation(10, 150, 20, 140); ``` 这里的10和150分别代表X轴上的起点和终点坐标,它们是相对于ImageView真实位置的偏移量。20和140则对应Y轴上的坐标。 ### 缩放 (Scaling) 缩放动画`ScaleAnimation`用于改变View的大小。设定如下参数: 1. 起始X轴缩放比例:`fromXScale`。 2. 结束X轴缩放比例:`toXScale`。 3. 起始Y轴缩放比例:`fromYScale`。 4. 结束Y轴缩放比例:`toYScale`。 同时,还可以指定缩放的中心点,例如: ```java ScaleAnimation sa = new ScaleAnimation(0.1f, 4, 0.1f, 4, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); ``` 这里设置了View在X和Y轴上分别从10%缩放到400%,且缩放中心点位于View的中心。 ### 旋转 (Rotation) 旋转动画`RotateAnimation`允许View围绕指定轴旋转。关键参数有: 1. 起始旋转角度:`fromDegrees`。 2. 结束旋转角度:`toDegrees`。 3. 旋转中心点的X坐标:`pivotXType` 和 `pivotXValue`。 4. 旋转中心点的Y坐标:`pivotYType` 和 `pivotYValue`。 例如: ```java RotateAnimation ra = new RotateAnimation(0, 360, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); ``` 这会使View绕其中心点旋转360度。 ### 透明 (Alpha) 透明动画`AlphaAnimation`控制View的透明度。仅需设置: 1. 起始透明度:`fromAlpha`(0.0f完全透明,1.0f完全不透明)。 2. 结束透明度:`toAlpha`。 示例: ```java AlphaAnimation aa = new AlphaAnimation(1.0f, 0.0f); ``` 这会让View从完全不透明变为完全透明。 ### 动画控制 除了创建动画对象,还需要配置动画的播放行为: 1. 持续时间:`setDuration(int duration)`,单位为毫秒。 2. 重复次数:`setRepeatCount(int repeatCount)`,默认为0,即不重复。 3. 重复模式:`setRepeatMode(int repeatMode)`,`REVERSE`会反向播放,`INFINITE`无限循环。 4. 动画结束后是否保持最后状态:`setFillAfter(boolean fillAfter)`,若为`true`,动画结束后View保持动画结束时的位置和大小。 播放动画: ```java iv.startAnimation(ta); ``` 以上代码将对ImageView `iv`应用创建的动画`ta`。 通过组合和调整这些参数,开发者可以创建出各种复杂的动画效果,为Android应用增添动态美。