Menu
CoddyTech
flag Ar iconالعربيةdown icon

العودة باستخدام زر

جزء من قسم القوائم والشاشات في رحلة Flutter على Coddy. الدرس 20 من 33.

سهم الرجوع ليس الطريقة الوحيدة للعودة. ينبغي أيضًا أن يغلق زر «حفظ» أو «تم» شاشته عند الضغط عليه. يزيل Navigator.pop الشاشة العلوية من المكدس، تمامًا مثل سهم الرجوع:

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

الدفع والإزالة عمليتان متلازمتان: يضيف الدفع شاشة، وتزيلها الإزالة. لن يؤدي دفع الشاشة الرئيسية مرة أخرى إلى الرجوع. بل سيضيف شاشة رئيسية ثانية إلى أعلى المكدس، مع سهم رجوع يؤدي إلى الإعدادات.

challenge icon

التحدي

سهل

زر 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'),
        ),
      ),
    );
  }
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس القوائم والشاشات

تدرّب بنفسك: مترجم Flutter عبر الإنترنت