Menu
CoddyTech

Torna indietro con un pulsante

Fa parte della sezione Elenchi e schermate del percorso Flutter di Coddy. Lezione 20 di 33.

La freccia indietro non è l'unico modo per tornare indietro. Anche un pulsante Save o Done dovrebbe chiudere la schermata quando viene premuto. Navigator.pop rimuove la schermata in cima allo stack, proprio come la freccia indietro:

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

Push e pop sono una coppia: push aggiunge una schermata, pop la rimuove. Eseguire nuovamente il push della schermata iniziale non ti farebbe tornare indietro. Aggiungerebbe una seconda schermata iniziale in cima allo stack, con una freccia indietro che porta alle impostazioni.

challenge icon

Sfida

Facile

Il pulsante Save nella schermata delle impostazioni non fa nulla. Fai in modo che chiuda la schermata delle impostazioni e torni alla schermata iniziale con Navigator.pop.

Provalo tu

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 iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Elenchi e schermate

Esercitati da solo: Compilatore Flutter online