mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-17 21:01:34 +08:00
33 lines
1.3 KiB
TypeScript
33 lines
1.3 KiB
TypeScript
import transition = require("ui/transition");
|
|
|
|
export class CustomTransition extends transition.Transition {
|
|
public createAndroidAnimator(transitionType: string): android.animation.Animator {
|
|
var scaleValues = Array.create("float", 2);
|
|
switch (transitionType) {
|
|
case transition.AndroidTransitionType.enter:
|
|
case transition.AndroidTransitionType.popEnter:
|
|
scaleValues[0] = 0;
|
|
scaleValues[1] = 1;
|
|
break;
|
|
case transition.AndroidTransitionType.exit:
|
|
case transition.AndroidTransitionType.popExit:
|
|
scaleValues[0] = 1;
|
|
scaleValues[1] = 0;
|
|
break;
|
|
}
|
|
var objectAnimators = Array.create(android.animation.Animator, 2);
|
|
objectAnimators[0] = android.animation.ObjectAnimator.ofFloat(null, "scaleX", scaleValues);
|
|
objectAnimators[1] = android.animation.ObjectAnimator.ofFloat(null, "scaleY", scaleValues);
|
|
var animatorSet = new android.animation.AnimatorSet();
|
|
animatorSet.playTogether(objectAnimators);
|
|
|
|
var duration = this.getDuration();
|
|
if (duration !== undefined) {
|
|
animatorSet.setDuration(duration);
|
|
}
|
|
animatorSet.setInterpolator(this.getCurve());
|
|
|
|
return animatorSet;
|
|
}
|
|
}
|