Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
741 of 1024 menu
◀ ▶

Класс Route

Класс Route - абстракция страницы, которую кладут на стопку Navigator. У маршрута есть RouteSettings с именем и аргументами. Конкретный переход Material делают через MaterialPageRoute или PageRouteBuilder.

Синтаксис

MaterialPageRoute<void>( builder: (context) => const Placeholder(), )

Пример

Давайте положим MaterialPageRoute на стопку через push:

import 'package:flutter/material.dart'; class RouteHome extends StatelessWidget { const RouteHome({super.key}); @override Widget build(BuildContext context) { return Scaffold( body: Center( child: ElevatedButton( onPressed: () { Route<void> page = MaterialPageRoute<void>( builder: (ctx) => Scaffold( body: Center( child: Text('12345'), ), ), ); Navigator.push(context, page); }, child: const Text('abcde'), ), ), ); } } void main() { runApp( MaterialApp( home: RouteHome(), ), ); }

На экране кнопка 'abcde'; push кладёт Route и открывает '12345'.

Пример

Давайте прочитаем settings.name у Route:

import 'package:flutter/material.dart'; void main() { var route = MaterialPageRoute<void>( settings: const RouteSettings(name: '/test'), builder: (context) => const SizedBox.shrink(), ); runApp( MaterialApp( home: Scaffold( body: Center( child: Text(route.settings.name ?? 'abcde'), ), ), ), ); }

На экране по центру строка '/test' из settings маршрута.

Смотрите также

  • класс MaterialPageRoute,
    готовый Route со сдвигом Material
  • класс ModalRoute,
    Route, который перекрывает предыдущий экран
  • класс RouteSettings,
    имя и arguments маршрута
  • виджет Navigator,
    стопка экземпляров Route
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить