Android Animation 动画属性

时间:2024-04-19 21:05:44

在 Android 中, Animation 动画效果的实现可以通过两种方式进行实现:

一种是 tweened animation 渐变动画,另一种是 frame by frame animation 补间(画面转换)动画。

tweened animation 渐变动画有以下两种类型:

1.alpha   渐变透明度动画效果

2.scale   渐变尺寸伸缩动画效果

frame by frame animation 画面转换动画有以下两种类型:

1.translate  画面转换位置移动动画效果

2.rotate    画面转移旋转动画效果

下面列出常见属性:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false" >
<!-- 渐变透明度动画效果 -->
<alpha
android:duration="300"  // 设置动画持续的时间 300 毫秒
android:fromAlpha="0.1"  //设置动画开始时的透明度   1.0 代表不透明,0.0代表完全透明
android:toAlpha="1.0" />  // 设置动画开始时的透明度   0.0 表示完全透明 
<!-- 画面转移旋转动画效果 -->
<rotate
android:duration="300"  // 设置动画持续的时间 300 毫秒
android:fromDegrees="0"  // 设置动画开始时的角度
android:pivotX="50%"  // 设置动画相对于控件的 x 坐标的位置
android:pivotY="50%"  // 设置动画相对于控件的 y 坐标的位置
android:toDegrees="180" />  // 设置动画结束时的旋转角度 
<!-- 画面转换位置移动动画效果 -->
<translate
android:duration="300"  // 设置动画持续的时间 300 毫秒
android:fromXDelta="0"  // 设置动画开始时 x 坐标的位置
android:fromYDelta="0"  // 设置动画开始时 y 坐标的位置
android:toXDelta="50"  // 设置动画结束时 x 坐标的位置 
android:toYDelta="50" />  // 设置动画结束时 y 坐标的位置 
<!-- 渐变尺寸伸缩动画效果 -->
<scale
android:duration="300"  // 设置动画持续的时间 300 毫秒
android:fromXScale="3.0"  // 设置动画开始时 x 坐标上的伸缩长度
android:fromYScale="3.0"  // 设置动画开始时 y 坐标上的伸缩长度
android:pivotX="50%"  // 设置动画相对于控件的 x 坐标的位置
android:pivotY="50%"  // 设置动画相对于控件的 y 坐标的位置
android:toXScale="1.0"  // 设置动画结束时 x 坐标上的伸缩长度 
android:toYScale="1.0" />  // 设置动画结束时 y 坐标上的伸缩长度  </set>

另外,在两个Activity切换之间可参考另一篇文章《overridePendingTransition的使用》