التعديل على زر الرجوع للخلف في فلاتر | your are sure to exit from app flutter

التعديل على زر الرجوع للخلف في فلاتر | your are sure to exit from app flutter


 التعديل على زر الرجوع للخلف في فلاتر | your are sure to exit from app flutter

في هذا المقال سوف نقوم بشرح لكم كيفية الرجوع الى الخلف والخروج من التطبيق اظهار مربع تنبيه للتاكد من امكانية الخروج من التطبيق ام الاستمرار في التطبيق كما هو موضح في الصورة الخاصه بمقالة اليوم , ويمكنك التعامل وتنفيذ اي عملية اخرى عندما ترغب بالرجوع للاسفل لتغلق التطبيق وليس فقط اظهار dialog تنبيهي .


أنتجت Google إطار عمل Flutter ، وهو عبارة عن مجموعة تطوير برامج (SDK) لتطبيقات الأجهزة المحمولة. من الممكن إنشاء تطبيقات لمنصات Android و iOS باستخدام الأداة وقاعدة بيانات واحدة ، إن اعتماد رمز واحد له تأثير كبير على إنشاء تطبيقات الأجهزة المحمولة. بالإضافة إلى توفير موارد الشركة ، يمنع التطبيق عبر الأنظمة الأساسية التطبيقات من اكتساب قدرات مختلفة.

يعد عدم التطابق في إصدارات التطبيق أمرًا شائعًا بالنسبة للمؤسسات التي بها فريقان لتطوير الأجهزة المحمولة ، أحدهما لنظام Android والآخر لنظام iOS. يمكن أن تنشأ هذه التفاوتات نتيجة لقدرة الفريق ، فضلاً عن عمليات النشر المتغيرة في المتاجر.

على سبيل المثال ، يحتوي متجر برامج Apple على لوائح نشر أكثر صرامة ، لكن متجر Google Play Store أكثر مرونة وتسامحًا مع نشر التطبيقات.


اظهار dialog عند الرغبه في الخروج من التطبيق

سوف نحتاج الى ان نجعل التصميم كامل بداخل WillPopScope وهي خاصة بالرجوع من التطبيق وقمنا بعمل قيمة نهائيه باسم value وعندما تكون هذه القيمة true يتم الغلق وعندما تصبح false لا يحدث اي شيئ , وعندما يقوم بالنقر على exit يتم اخذ قيمة true وبعدها سيتم الخروج من التطبيق والعكس سوف تاخذ قيمة false ولن يحدث اي شيئ .


اظهار dialog عند الرغبه في الخروج من التطبيق

geecoders.dart


class GeeCoders extends StatelessWidget {
  const GeeCoders({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return WillPopScope(
      onWillPop: () async{
        final value = await showDialog<bool>(
            context: context,
            builder: (builder) {
              return AlertDialog(
                title: const Text("Dialog"),
                content: const Text('Do you want to exit ?'),
                actions: [
                  ElevatedButton(onPressed: ()=>
                      Navigator.of(context).pop(false),
                      child: const Text('No')),

                  ElevatedButton(onPressed: ()=>
                      Navigator.of(context).pop(true),
                      child: const Text('Exit')),
                ],
              );
            });
        if (value != null) {
          return Future.value(value);
        } else {
          return Future.value(false);
        }
      },
      child: Scaffold(
        appBar: AppBar(),
      ),
    );
  }
}

فيديو الشرح


تعليقات