@nativescript/core
Version:
A JavaScript library providing an easy to use api for interacting with iOS and Android platform APIs.
50 lines (44 loc) • 1.42 kB
TypeScript
import { GridLayout } from '../grid-layout';
import { View } from '../../core/view';
/**
* @nsView RootLayout
*/
export class RootLayout extends GridLayout {
open(view: View, options: RootLayoutOptions = {}): Promise<void>;
close(view: View, exitTo?: TransitionAnimation): Promise<void>;
topmost(): View;
bringToFront(view: View, animated?: boolean): Promise<void>;
closeAll(): Promise<void[]>;
getShadeCover(): View;
openShadeCover(options: ShadeCoverOptions = {}): Promise<void>;
closeShadeCover(shadeCoverOptions: ShadeCoverOptions = {}): Promise<void>;
}
export function getRootLayout(): RootLayout;
export function getRootLayoutById(id: string): RootLayout;
export interface RootLayoutOptions {
shadeCover?: ShadeCoverOptions;
animation?: {
enterFrom?: TransitionAnimation;
exitTo?: TransitionAnimation;
};
}
export interface ShadeCoverOptions {
opacity?: number;
color?: string;
tapToClose?: boolean;
animation?: {
enterFrom?: TransitionAnimation; // only applied if first one to be opened
exitTo?: TransitionAnimation; // only applied if last one to be closed
};
ignoreShadeRestore?: boolean;
}
export interface TransitionAnimation {
translateX?: number;
translateY?: number;
scaleX?: number;
scaleY?: number;
rotate?: number; // in degrees
opacity?: number;
duration?: number; // in milliseconds
curve?: any; // CoreTypes.AnimationCurve (string, cubicBezier, etc.)
}