Navigator
snippet.packages.flutter.lib.src.widgets.navigator.29.
// ignore_for_file: directives_ordering
// ignore_for_file: unnecessary_import
// ignore_for_file: unused_import
// ignore_for_file: unused_element
// ignore_for_file: unused_local_variable
import 'dart:async';
import 'dart:convert';
import 'dart:math' as math;
import 'dart:typed_data';
import 'dart:ui' as ui;
import 'package:flutter_test/flutter_test.dart';
import 'package:flutter/material.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/widgets.dart';
import 'package:flutter/gestures.dart';
import 'package:flutter/painting.dart';
import 'package:flutter/physics.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/semantics.dart';
import 'package:flutter/rendering.dart';
import 'package:flutter/scheduler.dart';
import 'package:flutter/animation.dart';
import 'package:flutter/services.dart';
// From: packages/flutter/lib/src/widgets/navigator.dart:29
class MyPage extends Placeholder { const MyPage({Key? key}) : super(key: key); }
class MyHomePage extends Placeholder { const MyHomePage({Key? key}) : super(key: key); }
late NavigatorState navigator;
late BuildContext context;
class NoAnimationTransitionDelegate extends TransitionDelegate {
@override
Iterable resolve({
required List newPageRouteHistory,
required Map locationToExitingPageRoute,
required Map> pageRouteToPagelessRoutes,
}) {
final List results = [];
for (final RouteTransitionRecord pageRoute in newPageRouteHistory) {
if (pageRoute.isWaitingForEnteringDecision) {
pageRoute.markForAdd();
}
results.add(pageRoute);
}
for (final RouteTransitionRecord exitingPageRoute in locationToExitingPageRoute.values) {
if (exitingPageRoute.isWaitingForExitingDecision) {
exitingPageRoute.markForRemove();
final List? pagelessRoutes = pageRouteToPagelessRoutes[exitingPageRoute];
if (pagelessRoutes != null) {
for (final RouteTransitionRecord pagelessRoute in pagelessRoutes) {
pagelessRoute.markForRemove();
}
}
}
results.add(exitingPageRoute);
}
return results;
}
}
void _didPushButton() {
Navigator.pushNamed(context, '/settings');
}
void _showBerlinWeather() {
Navigator.pushNamed(
context,
'/weather',
arguments: {
'city': 'Berlin',
'country': 'Germany',
},
);
}
class WeatherRouteArguments {
WeatherRouteArguments({ required this.city, required this.country });
final String city;
final String country;
bool get isGermanCapital {
return country == 'Germany' && city == 'Berlin';
}
}
void _showWeather() {
Navigator.pushNamed(
context,
'/weather',
arguments: WeatherRouteArguments(city: 'Berlin', country: 'Germany'),
);
}
void _showParisWeather() {
Navigator.restorablePushNamed(
context,
'/weather',
arguments: {
'city': 'Paris',
'country': 'France',
},
);
}
void _switchToBrightness() {
Navigator.pushReplacementNamed(context, '/settings/brightness');
}
void _switchToAudioVolume() {
Navigator.restorablePushReplacementNamed(context, '/settings/volume');
}
void _selectAccessibility() {
Navigator.popAndPushNamed(context, '/settings/accessibility');
}
void _selectNetwork() {
Navigator.restorablePopAndPushNamed(context, '/settings/network');
}
void _resetToCalendar() {
Navigator.pushNamedAndRemoveUntil(context, '/calendar', ModalRoute.withName('/'));
}
void _resetToOverview() {
Navigator.restorablePushNamedAndRemoveUntil(context, '/overview', ModalRoute.withName('/'));
}
void _openMyPage() {
Navigator.push(
context,
MaterialPageRoute(
builder: (BuildContext context) => const MyPage(),
),
);
}
void _completeLogin() {
Navigator.pushReplacement(
context,
MaterialPageRoute(
builder: (BuildContext context) => const MyHomePage(),
),
);
}
void _finishAccountCreation() {
Navigator.pushAndRemoveUntil(
context,
MaterialPageRoute(builder: (BuildContext context) => const MyHomePage()),
ModalRoute.withName('/'),
);
}
void _close() {
Navigator.pop(context);
}
void _logout() {
Navigator.popUntil(context, ModalRoute.withName('/login'));
}
void _aaronBurrSir() {
navigator.pushNamed('/nyc/1776');
}
void _openDetails() {
navigator.restorablePushNamed('/nyc/1776');
}
void _startBike() {
navigator.pushReplacementNamed('/jouett/1781');
}
void _startCar() {
navigator.restorablePushReplacementNamed('/jouett/1781');
}
void _begin() {
navigator.popAndPushNamed('/nyc/1776');
}
void _end() {
navigator.restorablePopAndPushNamed('/nyc/1776');
}
void _handleOpenCalendar() {
navigator.pushNamedAndRemoveUntil('/calendar', ModalRoute.withName('/'));
}
void _openCalendar() {
navigator.restorablePushNamedAndRemoveUntil('/calendar', ModalRoute.withName('/'));
}
void _openPage() {
navigator.push(
MaterialPageRoute(
builder: (BuildContext context) => const MyPage(),
),
);
}
void _doOpenPage() {
navigator.pushReplacement(
MaterialPageRoute(
builder: (BuildContext context) => const MyHomePage(),
),
);
}
void _resetAndOpenPage() {
navigator.pushAndRemoveUntil(
MaterialPageRoute(builder: (BuildContext context) => const MyHomePage()),
ModalRoute.withName('/'),
);
}
void _handleClose() {
navigator.pop();
}
void _handleAccept() {
navigator.pop(true); // dialog returns true
}
void _doLogout() {
navigator.popUntil(ModalRoute.withName('/login'));
}
SHARE: