العودة باستخدام زر
جزء من قسم القوائم والشاشات في رحلة 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'),
),
),
);
}
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس القوائم والشاشات
1قوائم قابلة للتمرير
قائمة قابلة للتمريرعناصر القائمةالبداية والنهايةاضغط على عنصر قائمةفواصل بين الصفوف6علامات التبويب والأدراج والتمرير بالسحب
علامات التبويب مع شريط تنقلأيقونات ممتلئة لعلامة التبويب المفتوحةدرج جانبياسحب للحذفالتراجع عن السحبتدرّب بنفسك: مترجم Flutter عبر الإنترنت