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

Переход на второй экран в Flutter

Когда одного Scaffold мало, второй экран оформляют отдельным виджетом с собственным деревом. Переход делают через стек маршрутов: Navigator кладёт новую страницу поверх текущей.

Метод Navigator.push принимает MaterialPageRoute с builder, который возвращает виджет нового экрана. Анимация сдвига справа - стандартная для Material на Android:

import 'package:flutter/material.dart'; void main() { runApp(const MaterialApp(home: HomeScreen())); } class HomeScreen extends StatelessWidget { const HomeScreen({super.key}); @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: const Text('Home')), body: Center( child: ElevatedButton( onPressed: () { Navigator.push( context, // from a widget under MaterialApp MaterialPageRoute<void>( builder: (context) => const DetailsScreen(), ), ); }, child: const Text('More'), ), ), ); } } class DetailsScreen extends StatelessWidget { const DetailsScreen({super.key}); @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: const Text('Details')), body: const Center(child: Text('Second screen')), ); } }

С главного экрана откройте второй с заголовком 'Settings' и текстом по центру 'Settings will be here'. Кнопка на главной - 'Open settings'.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить