Menu
CoddyTech

Wróć za pomocą przycisku

Część sekcji Listy i ekrany ścieżki Flutter w Coddy. Lekcja 20 z 33.

Strzałka wstecz to nie jedyny sposób na powrót. Przycisk Zapisz lub Gotowe również powinien zamykać ekran po naciśnięciu. Navigator.pop zdejmuje górny ekran ze stosu, tak samo jak strzałka wstecz:

ElevatedButton(
  onPressed: () {
    Navigator.pop(context);
  },
  child: const Text('Save'),
)

Push i pop tworzą parę: push dodaje ekran, a pop go usuwa. Ponowne dodanie ekranu głównego nie spowodowałoby powrotu. Umieściłoby drugi ekran główny na stosie, ze strzałką wstecz prowadzącą do ustawień.

challenge icon

Wyzwanie

Łatwy

Przycisk Save na ekranie ustawień nic nie robi. Spraw, aby zamykał ekran ustawień i wracał do ekranu głównego za pomocą Navigator.pop.

Spróbuj swoich sił

import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      debugShowCheckedModeBanner: false,
      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,
              MaterialPageRoute(builder: (context) => const SettingsScreen()),
            );
          },
          child: const Text('Open settings'),
        ),
      ),
    );
  }
}

class SettingsScreen extends StatelessWidget {
  const SettingsScreen({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('Settings')),
      body: Center(
        child: ElevatedButton(
          onPressed: () {},
          child: const Text('Save'),
        ),
      ),
    );
  }
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Listy i ekrany

Poćwicz samodzielnie: Kompilator Flutter online