חזרה באמצעות כפתור
חלק מהיחידה רשימות ומסכים במסלול ה-Flutter של Coddy. שיעור 20 מתוך 33.
חץ החזרה אינו הדרך היחידה לחזור. כפתור שמירה או סיום אמור גם הוא לסגור את המסך שלו כשלוחצים עליו. Navigator.pop מסיר את המסך העליון מהמחסנית, בדיוק כמו חץ החזרה:
ElevatedButton(
onPressed: () {
Navigator.pop(context);
},
child: const Text('Save'),
)דחיפה והסרה הן צמד: דחיפה מוסיפה מסך, והסרה מורידה אותו. דחיפת מסך הבית שוב לא תחזיר אותך אחורה. היא תוסיף מסך בית שני מעל הערימה, עם חץ חזרה שיוביל להגדרות.
אתגר
קלהלחצן Save במסך ההגדרות לא עושה דבר. יש לגרום לו לסגור את מסך ההגדרות ולחזור למסך הבית באמצעות Navigator.pop.
נסו בעצמכם
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'),
),
),
);
}
}
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה רשימות ומסכים
תרגלו בעצמכם: קומפיילר Flutter אונליין