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ń.
Wyzwanie
ŁatwyPrzycisk 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'),
),
),
);
}
}
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Listy i ekrany
1Przewijane listy
Lista z przewijaniemElementy listyPoczątek i koniecDotknij elementu listySeparatory między wierszami5Więcej niż jeden ekran
Otwórz nowy ekranStrzałka wsteczWróć za pomocą przyciskuPrześlij dane do ekranuOdbierz wynik6Karty, szuflady i gesty przesunięcia
Karty z paskiem nawigacyjnymWypełnione ikony dla otwartej kartyBoczna szufladaPrzesuń, aby usunąćCofnij przesunięciePoćwicz samodzielnie: Kompilator Flutter online