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

@@ -22,7 +22,7 @@ function waitUntilTabViewReady(page: Page, action: Function) {
action();
if (isAndroid) {
TKUnit.waitUntilReady(() => page.frame._currentEntry.fragment.isAdded());
TKUnit.waitUntilReady(() => page.frame._currentEntry.fragment && page.frame._currentEntry.fragment.isAdded());
} else {
TKUnit.waitUntilReady(() => page.isLoaded);
}

View File

@@ -12,7 +12,7 @@ const { NativeScriptWorkerPlugin } = require("nativescript-worker-loader/NativeS
const TerserPlugin = require("terser-webpack-plugin");
const hashSalt = Date.now().toString();
const ANDROID_MAX_CYCLES = 68;
const ANDROID_MAX_CYCLES = 66;
const IOS_MAX_CYCLES = 39;
let numCyclesDetected = 0;