feat: overhaul and streamline Android page navigation transitions (#7925)

* feat: remove Animators and replace with Transitions

* fix: handle disappearing nested fragments for tabs.

Extract TabFragmentImplementation in tab-navigation base for both tabs and bottom navigation

* chore: bump webpack cycles counter

* feat(android-widgets): add androidx.transition:transition as dependency

* chore: fix typescript errors

* fix(frame-android): child already has a parent. Replace removeView with removeAllViews

* fix(tests): wait for fragment before isAdded() check

* fix(bottom-navigation): prevent changeTab logic when fragment manager is destroyed

* chore: apply PR comments changes
This commit is contained in:
Alexander Djenkov
2019-10-15 18:19:47 +03:00
committed by GitHub
parent dc6540269f
commit 08e23bcc3b
20 changed files with 834 additions and 574 deletions

View File

@ -1,6 +1,11 @@
declare module org {
module nativescript {
module widgets {
export class CustomTransition extends androidx.transition.Visibility {
constructor(animatorSet: android.animation.AnimatorSet, transitionName: string);
public setResetOnTransitionEnd(resetOnTransitionEnd: boolean): void;
public getTransitionName(): string;
}
export module Async {
export class CompleteCallback {
constructor(implementation: ICompleteCallback);
@ -57,6 +62,12 @@
}
}
export class FragmentBase extends androidx.fragment.app.Fragment {
constructor();
public getRemovingParentFragment(): androidx.fragment.app.Fragment;
}
export class BorderDrawable extends android.graphics.drawable.ColorDrawable {
constructor(density: number);
constructor(density: number, id: string);
@ -173,12 +184,6 @@
public verticalAlignment: VerticalAlignment;
}
export class FragmentBase extends androidx.fragment.app.Fragment {
constructor();
public getRemovingParentFragment(): androidx.fragment.app.Fragment;
}
export enum Stretch {
none,
aspectFill,