mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-14 18:12:09 +08:00
fix(core): AndroidTransitionType symbol export handling (#9252)
BREAKING CHANGE: AndroidTransitionType is now a static member of the Transition class. BEFORE: ``` import { AndroidTransitionType } from '@nativescript/core/ui/transition'; ``` AFTER: ``` import { Transition } from '@nativescript/core'; Transition.AndroidTransitionType.enter; // etc. ```
This commit is contained in:
@ -1,6 +1,6 @@
|
||||
import * as transition from '@nativescript/core/ui/transition';
|
||||
import { Transition } from '@nativescript/core';
|
||||
|
||||
export class CustomTransition extends transition.Transition {
|
||||
export class CustomTransition extends Transition {
|
||||
constructor(duration: number, curve: any) {
|
||||
super(duration, curve);
|
||||
}
|
||||
@ -8,13 +8,13 @@ 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:
|
||||
case Transition.AndroidTransitionType.enter:
|
||||
case Transition.AndroidTransitionType.popEnter:
|
||||
scaleValues[0] = 0;
|
||||
scaleValues[1] = 1;
|
||||
break;
|
||||
case transition.AndroidTransitionType.exit:
|
||||
case transition.AndroidTransitionType.popExit:
|
||||
case Transition.AndroidTransitionType.exit:
|
||||
case Transition.AndroidTransitionType.popExit:
|
||||
scaleValues[0] = 1;
|
||||
scaleValues[1] = 0;
|
||||
break;
|
||||
|
@ -3,7 +3,7 @@ import { NavigationType } from './frame-common';
|
||||
import { NavigationTransition, BackstackEntry } from '.';
|
||||
|
||||
// Types.
|
||||
import { Transition, AndroidTransitionType } from '../transition';
|
||||
import { Transition } from '../transition';
|
||||
import { FlipTransition } from '../transition/flip-transition';
|
||||
import { _resolveAnimationCurve } from '../animation';
|
||||
import lazy from '../../utils/lazy';
|
||||
@ -177,14 +177,14 @@ function setupAllAnimation(entry: ExpandedEntry, transition: Transition): void {
|
||||
|
||||
// setupAllAnimation is called only for new fragments so we don't
|
||||
// need to clearAnimationListener for enter & popExit animators.
|
||||
const enterAnimator = <ExpandedAnimator>transition.createAndroidAnimator(AndroidTransitionType.enter);
|
||||
enterAnimator.transitionType = AndroidTransitionType.enter;
|
||||
const enterAnimator = <ExpandedAnimator>transition.createAndroidAnimator(Transition.AndroidTransitionType.enter);
|
||||
enterAnimator.transitionType = Transition.AndroidTransitionType.enter;
|
||||
enterAnimator.entry = entry;
|
||||
enterAnimator.addListener(listener);
|
||||
entry.enterAnimator = enterAnimator;
|
||||
|
||||
const popExitAnimator = <ExpandedAnimator>transition.createAndroidAnimator(AndroidTransitionType.popExit);
|
||||
popExitAnimator.transitionType = AndroidTransitionType.popExit;
|
||||
const popExitAnimator = <ExpandedAnimator>transition.createAndroidAnimator(Transition.AndroidTransitionType.popExit);
|
||||
popExitAnimator.transitionType = Transition.AndroidTransitionType.popExit;
|
||||
popExitAnimator.entry = entry;
|
||||
popExitAnimator.addListener(listener);
|
||||
entry.popExitAnimator = popExitAnimator;
|
||||
@ -197,14 +197,14 @@ function setupExitAndPopEnterAnimation(entry: ExpandedEntry, transition: Transit
|
||||
clearAnimationListener(entry.exitAnimator, listener);
|
||||
clearAnimationListener(entry.popEnterAnimator, listener);
|
||||
|
||||
const exitAnimator = <ExpandedAnimator>transition.createAndroidAnimator(AndroidTransitionType.exit);
|
||||
exitAnimator.transitionType = AndroidTransitionType.exit;
|
||||
const exitAnimator = <ExpandedAnimator>transition.createAndroidAnimator(Transition.AndroidTransitionType.exit);
|
||||
exitAnimator.transitionType = Transition.AndroidTransitionType.exit;
|
||||
exitAnimator.entry = entry;
|
||||
exitAnimator.addListener(listener);
|
||||
entry.exitAnimator = exitAnimator;
|
||||
|
||||
const popEnterAnimator = <ExpandedAnimator>transition.createAndroidAnimator(AndroidTransitionType.popEnter);
|
||||
popEnterAnimator.transitionType = AndroidTransitionType.popEnter;
|
||||
const popEnterAnimator = <ExpandedAnimator>transition.createAndroidAnimator(Transition.AndroidTransitionType.popEnter);
|
||||
popEnterAnimator.transitionType = Transition.AndroidTransitionType.popEnter;
|
||||
popEnterAnimator.entry = entry;
|
||||
popEnterAnimator.addListener(listener);
|
||||
entry.popEnterAnimator = popEnterAnimator;
|
||||
@ -579,13 +579,13 @@ function setupCurrentFragmentSlideTransition(navTransition: NavigationTransition
|
||||
}
|
||||
|
||||
function setupCurrentFragmentCustomTransition(navTransition: NavigationTransition, entry: ExpandedEntry, transition: Transition): void {
|
||||
const exitAnimator = transition.createAndroidAnimator(AndroidTransitionType.exit);
|
||||
const exitTransition = new org.nativescript.widgets.CustomTransition(exitAnimator, transition.constructor.name + AndroidTransitionType.exit.toString());
|
||||
const exitAnimator = transition.createAndroidAnimator(Transition.AndroidTransitionType.exit);
|
||||
const exitTransition = new org.nativescript.widgets.CustomTransition(exitAnimator, transition.constructor.name + Transition.AndroidTransitionType.exit.toString());
|
||||
|
||||
setExitTransition(navTransition, entry, exitTransition);
|
||||
|
||||
const reenterAnimator = transition.createAndroidAnimator(AndroidTransitionType.popEnter);
|
||||
const reenterTransition = new org.nativescript.widgets.CustomTransition(reenterAnimator, transition.constructor.name + AndroidTransitionType.popEnter.toString());
|
||||
const reenterAnimator = transition.createAndroidAnimator(Transition.AndroidTransitionType.popEnter);
|
||||
const reenterTransition = new org.nativescript.widgets.CustomTransition(reenterAnimator, transition.constructor.name + Transition.AndroidTransitionType.popEnter.toString());
|
||||
|
||||
setReenterTransition(navTransition, entry, reenterTransition);
|
||||
}
|
||||
@ -593,12 +593,12 @@ function setupCurrentFragmentCustomTransition(navTransition: NavigationTransitio
|
||||
function setupNewFragmentCustomTransition(navTransition: NavigationTransition, entry: ExpandedEntry, transition: Transition): void {
|
||||
setupCurrentFragmentCustomTransition(navTransition, entry, transition);
|
||||
|
||||
const enterAnimator = transition.createAndroidAnimator(AndroidTransitionType.enter);
|
||||
const enterTransition = new org.nativescript.widgets.CustomTransition(enterAnimator, transition.constructor.name + AndroidTransitionType.enter.toString());
|
||||
const enterAnimator = transition.createAndroidAnimator(Transition.AndroidTransitionType.enter);
|
||||
const enterTransition = new org.nativescript.widgets.CustomTransition(enterAnimator, transition.constructor.name + Transition.AndroidTransitionType.enter.toString());
|
||||
setEnterTransition(navTransition, entry, enterTransition);
|
||||
|
||||
const returnAnimator = transition.createAndroidAnimator(AndroidTransitionType.popExit);
|
||||
const returnTransition = new org.nativescript.widgets.CustomTransition(returnAnimator, transition.constructor.name + AndroidTransitionType.popExit.toString());
|
||||
const returnAnimator = transition.createAndroidAnimator(Transition.AndroidTransitionType.popExit);
|
||||
const returnTransition = new org.nativescript.widgets.CustomTransition(returnAnimator, transition.constructor.name + Transition.AndroidTransitionType.popExit.toString());
|
||||
setReturnTransition(navTransition, entry, returnTransition);
|
||||
}
|
||||
|
||||
|
@ -83,6 +83,6 @@ export { Span } from './text-base/span';
|
||||
export { TextField } from './text-field';
|
||||
export { TextView } from './text-view';
|
||||
export { TimePicker } from './time-picker';
|
||||
export { Transition, AndroidTransitionType } from './transition';
|
||||
export { Transition } from './transition';
|
||||
export { WebView } from './web-view';
|
||||
export type { LoadEventData, WebViewNavigationType } from './web-view';
|
||||
|
@ -1,17 +1,17 @@
|
||||
import { Transition, AndroidTransitionType } from '.';
|
||||
import { Transition } from '.';
|
||||
|
||||
export class FadeTransition extends Transition {
|
||||
public createAndroidAnimator(transitionType: string): android.animation.AnimatorSet {
|
||||
const animatorSet = new android.animation.AnimatorSet();
|
||||
const alphaValues = Array.create('float', 2);
|
||||
switch (transitionType) {
|
||||
case AndroidTransitionType.enter:
|
||||
case AndroidTransitionType.popEnter:
|
||||
case Transition.AndroidTransitionType.enter:
|
||||
case Transition.AndroidTransitionType.popEnter:
|
||||
alphaValues[0] = 0;
|
||||
alphaValues[1] = 1;
|
||||
break;
|
||||
case AndroidTransitionType.exit:
|
||||
case AndroidTransitionType.popExit:
|
||||
case Transition.AndroidTransitionType.exit:
|
||||
case Transition.AndroidTransitionType.popExit:
|
||||
alphaValues[0] = 1;
|
||||
alphaValues[1] = 0;
|
||||
break;
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { Transition, AndroidTransitionType } from '.';
|
||||
import { Transition } from '.';
|
||||
|
||||
//http://developer.android.com/training/animation/cardflip.html
|
||||
export class FlipTransition extends Transition {
|
||||
@ -19,7 +19,7 @@ export class FlipTransition extends Transition {
|
||||
const rotationY = this._direction === 'right' ? 180 : -180;
|
||||
|
||||
switch (transitionType) {
|
||||
case AndroidTransitionType.enter: // card_flip_right_in
|
||||
case Transition.AndroidTransitionType.enter: // card_flip_right_in
|
||||
objectAnimators = Array.create(android.animation.Animator, 2);
|
||||
|
||||
values = Array.create('float', 2);
|
||||
@ -38,7 +38,7 @@ export class FlipTransition extends Transition {
|
||||
animator.setDuration(fullDuration / 2);
|
||||
objectAnimators[1] = animator;
|
||||
break;
|
||||
case AndroidTransitionType.exit: // card_flip_right_out
|
||||
case Transition.AndroidTransitionType.exit: // card_flip_right_out
|
||||
objectAnimators = Array.create(android.animation.Animator, 2);
|
||||
|
||||
values = Array.create('float', 2);
|
||||
@ -57,7 +57,7 @@ export class FlipTransition extends Transition {
|
||||
animator.setDuration(fullDuration / 2);
|
||||
objectAnimators[1] = animator;
|
||||
break;
|
||||
case AndroidTransitionType.popEnter: // card_flip_left_in
|
||||
case Transition.AndroidTransitionType.popEnter: // card_flip_left_in
|
||||
objectAnimators = Array.create(android.animation.Animator, 2);
|
||||
|
||||
values = Array.create('float', 2);
|
||||
@ -76,7 +76,7 @@ export class FlipTransition extends Transition {
|
||||
animator.setDuration(fullDuration / 2);
|
||||
objectAnimators[1] = animator;
|
||||
break;
|
||||
case AndroidTransitionType.popExit: // card_flip_left_out
|
||||
case Transition.AndroidTransitionType.popExit: // card_flip_left_out
|
||||
objectAnimators = Array.create(android.animation.Animator, 2);
|
||||
|
||||
values = Array.create('float', 2);
|
||||
|
@ -4,15 +4,14 @@ import lazy from '../../utils/lazy';
|
||||
|
||||
const _defaultInterpolator = lazy(() => new android.view.animation.AccelerateDecelerateInterpolator());
|
||||
|
||||
export namespace AndroidTransitionType {
|
||||
export const enter = 'enter';
|
||||
export const exit = 'exit';
|
||||
export const popEnter = 'popEnter';
|
||||
export const popExit = 'popExit';
|
||||
}
|
||||
|
||||
let transitionId = 0;
|
||||
export class Transition {
|
||||
static AndroidTransitionType = {
|
||||
enter: 'enter',
|
||||
exit: 'exit',
|
||||
popEnter: 'popEnter',
|
||||
popExit: 'popExit',
|
||||
};
|
||||
private _duration: number;
|
||||
private _interpolator: android.view.animation.Interpolator;
|
||||
private _id: number;
|
||||
|
10
packages/core/ui/transition/index.d.ts
vendored
10
packages/core/ui/transition/index.d.ts
vendored
@ -1,11 +1,5 @@
|
||||
export namespace AndroidTransitionType {
|
||||
export const enter: string;
|
||||
export const exit: string;
|
||||
export const popEnter: string;
|
||||
export const popExit: string;
|
||||
}
|
||||
|
||||
export class Transition {
|
||||
export class Transition {
|
||||
static AndroidTransitionType: { enter: string; exit: string; popEnter: string; popExit: string };
|
||||
constructor(duration: number, nativeCurve: any);
|
||||
public getDuration(): number;
|
||||
public getCurve(): any;
|
||||
|
@ -1,5 +1,6 @@
|
||||
let transitionId = 0;
|
||||
export class Transition {
|
||||
static AndroidTransitionType = {};
|
||||
private _duration: number;
|
||||
private _curve: UIViewAnimationCurve;
|
||||
private _id: number;
|
||||
|
@ -1,11 +1,11 @@
|
||||
import * as transition from '.';
|
||||
import { Transition } from '.';
|
||||
import { Screen } from '../../platform';
|
||||
import lazy from '../../utils/lazy';
|
||||
|
||||
const screenWidth = lazy(() => Screen.mainScreen.widthPixels);
|
||||
const screenHeight = lazy(() => Screen.mainScreen.heightPixels);
|
||||
|
||||
export class SlideTransition extends transition.Transition {
|
||||
export class SlideTransition extends Transition {
|
||||
private _direction: string;
|
||||
|
||||
constructor(direction: string, duration: number, curve: any) {
|
||||
@ -18,19 +18,19 @@ export class SlideTransition extends transition.Transition {
|
||||
switch (this._direction) {
|
||||
case 'left':
|
||||
switch (transitionType) {
|
||||
case transition.AndroidTransitionType.enter:
|
||||
case Transition.AndroidTransitionType.enter:
|
||||
translationValues[0] = screenWidth();
|
||||
translationValues[1] = 0;
|
||||
break;
|
||||
case transition.AndroidTransitionType.exit:
|
||||
case Transition.AndroidTransitionType.exit:
|
||||
translationValues[0] = 0;
|
||||
translationValues[1] = -screenWidth();
|
||||
break;
|
||||
case transition.AndroidTransitionType.popEnter:
|
||||
case Transition.AndroidTransitionType.popEnter:
|
||||
translationValues[0] = -screenWidth();
|
||||
translationValues[1] = 0;
|
||||
break;
|
||||
case transition.AndroidTransitionType.popExit:
|
||||
case Transition.AndroidTransitionType.popExit:
|
||||
translationValues[0] = 0;
|
||||
translationValues[1] = screenWidth();
|
||||
break;
|
||||
@ -38,19 +38,19 @@ export class SlideTransition extends transition.Transition {
|
||||
break;
|
||||
case 'right':
|
||||
switch (transitionType) {
|
||||
case transition.AndroidTransitionType.enter:
|
||||
case Transition.AndroidTransitionType.enter:
|
||||
translationValues[0] = -screenWidth();
|
||||
translationValues[1] = 0;
|
||||
break;
|
||||
case transition.AndroidTransitionType.exit:
|
||||
case Transition.AndroidTransitionType.exit:
|
||||
translationValues[0] = 0;
|
||||
translationValues[1] = screenWidth();
|
||||
break;
|
||||
case transition.AndroidTransitionType.popEnter:
|
||||
case Transition.AndroidTransitionType.popEnter:
|
||||
translationValues[0] = screenWidth();
|
||||
translationValues[1] = 0;
|
||||
break;
|
||||
case transition.AndroidTransitionType.popExit:
|
||||
case Transition.AndroidTransitionType.popExit:
|
||||
translationValues[0] = 0;
|
||||
translationValues[1] = -screenWidth();
|
||||
break;
|
||||
@ -58,19 +58,19 @@ export class SlideTransition extends transition.Transition {
|
||||
break;
|
||||
case 'top':
|
||||
switch (transitionType) {
|
||||
case transition.AndroidTransitionType.enter:
|
||||
case Transition.AndroidTransitionType.enter:
|
||||
translationValues[0] = screenHeight();
|
||||
translationValues[1] = 0;
|
||||
break;
|
||||
case transition.AndroidTransitionType.exit:
|
||||
case Transition.AndroidTransitionType.exit:
|
||||
translationValues[0] = 0;
|
||||
translationValues[1] = -screenHeight();
|
||||
break;
|
||||
case transition.AndroidTransitionType.popEnter:
|
||||
case Transition.AndroidTransitionType.popEnter:
|
||||
translationValues[0] = -screenHeight();
|
||||
translationValues[1] = 0;
|
||||
break;
|
||||
case transition.AndroidTransitionType.popExit:
|
||||
case Transition.AndroidTransitionType.popExit:
|
||||
translationValues[0] = 0;
|
||||
translationValues[1] = screenHeight();
|
||||
break;
|
||||
@ -78,19 +78,19 @@ export class SlideTransition extends transition.Transition {
|
||||
break;
|
||||
case 'bottom':
|
||||
switch (transitionType) {
|
||||
case transition.AndroidTransitionType.enter:
|
||||
case Transition.AndroidTransitionType.enter:
|
||||
translationValues[0] = -screenHeight();
|
||||
translationValues[1] = 0;
|
||||
break;
|
||||
case transition.AndroidTransitionType.exit:
|
||||
case Transition.AndroidTransitionType.exit:
|
||||
translationValues[0] = 0;
|
||||
translationValues[1] = screenHeight();
|
||||
break;
|
||||
case transition.AndroidTransitionType.popEnter:
|
||||
case Transition.AndroidTransitionType.popEnter:
|
||||
translationValues[0] = screenHeight();
|
||||
translationValues[1] = 0;
|
||||
break;
|
||||
case transition.AndroidTransitionType.popExit:
|
||||
case Transition.AndroidTransitionType.popExit:
|
||||
translationValues[0] = 0;
|
||||
translationValues[1] = -screenHeight();
|
||||
break;
|
||||
|
Reference in New Issue
Block a user