和尚最近在学习 Android 基本动画,前两天整理了一下相对复杂的 Android 基础动画之 scale 渐变缩放,今天继续学习整理其他三种基本动画。
duration 代表动画过程中持续时常;所有的动画均有该属性;
fillAfter 代表动画结束后是否保存在最后位置,true 为结束位置,false 为返回开始位置。
动画的绑定方式可以参考上一篇博客,下面直接介绍各动画详细属性。
anim_alpha.xml
<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="3500"
android:fromAlpha="0.0"
android:toAlpha="1.0" />
fromAlpha 代表 View 的初始透明度;
toAlpha 代表 View 的终止透明度;
Tips: 透明度设置的范围并非只是在 0.0~1.0 之间,<= 0.0 不可见,>= 1.0 为可见,设置在初始值小于 0.0 或终止值大于 1.0 时显示是有区别的。例:fromAlpha="-2.5" 和 toAlpha="1.0",动画时间前 2.5s 均不可见,最后 1s 出现由 0.0->1.0 的透明变化,建议大家多多尝试。
anim_translate.xml
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="3500"
android:fillAfter="true"
android:fromXDelta="0"
android:fromYDelta="0"
android:toXDelta="50%"
android:toYDelta="50%p" />
fromXDelta 代表水平方向平移的初始位置;
toXDelta 代表水平方向平移的终止位置;
fromYDelta 代表竖直方向平移的初始位置;
toYDelta 代表竖直方向平移的终止位置;
Tips: 平移的值与 scale 缩放时类似,分为整数值,百分比/小数点值,百分比 + p 方式,使用方法与 scale 中一致,请参照上一篇博客介绍。
anim_rotate.xml
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="3500"
android:fillAfter="true"
android:fromDegrees="0"
android:pivotX="50%"
android:pivotY="0%"
android:toDegrees="360" />
fromDegrees 代表 View 旋转时初始角度,角度正负均可;
toDegrees 代表 View 旋转时终止角度;
pivotX 代表 View 旋转时圆心 (pivotX, y);
pivotY 代表 View 旋转时圆心 (x, pivotY);
Tips:
和尚的动画部分是短板,正在从零学习,不对的请多多指正。