新建anim动画文件夹xml文件
例如:switch (position) {
case 0:
overridePendingTransition(R.anim.fade, R.anim.hold);
break;
case 1:
overridePendingTransition(R.anim.my_scale_action,
R.anim.my_alpha_action);
break;
case 2:
overridePendingTransition(R.anim.scale_rotate,
R.anim.my_alpha_action);
break;
case 3:
overridePendingTransition(R.anim.scale_translate_rotate,
R.anim.my_alpha_action);
break;
case 4:
overridePendingTransition(R.anim.scale_translate,
R.anim.my_alpha_action);
break;
case 5:
overridePendingTransition(R.anim.hyperspace_in,
R.anim.hyperspace_out);
break;
case 6:
overridePendingTransition(R.anim.push_left_in,
R.anim.push_left_out);
break;
case 7:
overridePendingTransition(R.anim.push_up_in,
R.anim.push_up_out);
break;
case 8:
overridePendingTransition(R.anim.slide_left,
R.anim.slide_right);
break;
case 9:
overridePendingTransition(R.anim.wave_scale,
R.anim.my_alpha_action);
break;
case 10:
overridePendingTransition(R.anim.zoom_enter,
R.anim.zoom_exit);
break;
case 11:
overridePendingTransition(R.anim.slide_up_in,
R.anim.slide_down_out);
break;
default:
break;
}
属性 | 功能 | |
Duration[long] | 动画持续的时间 | 时间以毫秒为单位 |
fillAfter[boolean] | true时,该动画在动画结束后被应用 | |
fillBefore[boolean] | true时,该动画在动画开始之前被应用 | |
interpolator | 指定一个动画的插入器 | accelerate_decelerate_interpolator 加速-减速 动画插入器 accelerate_interpolator 加速-动画插入器 decelerate_interpolator 减速动画插入器 |
repeatCount[int] | 动画的重复次数 | |
startOffset[long] | 动画之间的时间间隔 | |
formXScale[float]formYScale[float] | 为动画起始时,X,Y坐标上的伸缩 尺寸 | 0.0表示收缩到没有 1.0表示正常无伸缩 值小于1.0表示收缩 值大于1.0表示放大 |
toXScale[float] toYScale[folat]] | 为动画结束时,XY坐标上的伸缩尺寸 | |
pivotX[float] pivotY[float] | 为动画相对于物件的XY坐标的开始位置 | |
translate | 动画转换位置移动动画效果 | |
fromXDelta toXDelta | 为动画结束起始时X坐标上的位置 | |
fromYDelta toYDelta | 为动画结束起始时Y坐标上的位置 | |
rotate | 画面转移旋转动画效果 | |
fromDegrees | 为动画起始时物件的角度 | 角度为负数表示逆时针旋转 角度为正数表示顺时针旋转 |
toDegrees | 为动画结束时物件旋转的角度可以 大于360度 | |
pivotX pivotY | 为动画相对于物件的X,Y坐标的开 始位置 | 说明:以上两个属性值从0%-100%中取值 50%为物件的x或y方向坐标上的中点位置 |