Android 补间动画基础:位移、缩放、旋转与透明度详解
概述
在 Android 开发中,补间动画(Tween Animation)是一种通过改变视图的几何属性来实现视觉过渡效果的技术。它主要用于处理视图在位移、缩放、旋转和透明度方面的变化。虽然现代 Android 开发更推荐使用属性动画(Property Animation),但理解补间动画对于维护旧项目或实现特定简单效果仍然至关重要。
补间动画的核心在于定义一个初始状态和一个结束状态,系统会自动计算中间帧的变化过程。本文详细讲解四种基本补间动画类型的参数设置、配置方法以及组合使用的技巧。
核心概念
补间动画类位于 android.view.animation 包下。主要包含以下四个子类:
- TranslateAnimation:控制视图的位置移动。
- ScaleAnimation:控制视图的大小缩放。
- AlphaAnimation:控制视图的透明度变化。
- RotateAnimation:控制视图的旋转角度。
这些动画可以通过 AnimationSet 进行组合,同时执行多个动画效果。
TranslateAnimation 位移动画
位移动画用于改变视图在屏幕上的位置。构造器接受四个浮点数参数,分别代表 X 轴起点、X 轴终点、Y 轴起点、Y 轴终点。
坐标系统
参数可以是绝对值,也可以是相对值。相对值通常使用常量如 Animation.RELATIVE_TO_SELF。
- 绝对坐标:直接指定像素值。例如
new TranslateAnimation(10, 150, ...)表示从 X=10 移动到 X=150。 - 相对坐标:相对于视图自身的尺寸。
- 若传入
0.5f,则坐标为真实 X + 0.5 * 宽度。 - 若传入
2,则坐标为真实 X + 2 * 宽度。
- 若传入
示例代码:
// 从自身宽度的 0.5 倍处移动到 2 倍宽度处
TranslateAnimation ta = new TranslateAnimation(
Animation.RELATIVE_TO_SELF, 0.5f,
Animation.RELATIVE_TO_SELF, 2,
Animation.RELATIVE_TO_SELF, 0.5f,
Animation.RELATIVE_TO_SELF, 2
);
ScaleAnimation 缩放动画
缩放动画用于改变视图的宽高比。构造器同样接受四个参数,分别对应 X 轴起始比例、X 轴结束比例、Y 轴起始比例、Y 轴结束比例。
中心点控制
默认情况下,缩放中心点位于视图的左上角。为了视觉效果更佳,通常需要指定缩放中心点。
- 无中心点参数:默认左上角。
- 有中心点参数:添加两个额外参数指定 PivotX 和 PivotY。
- 使用
Animation.RELATIVE_TO_SELF配合 可实现以视图中心为基准缩放。
- 使用


