استخدام Overlay .of في Flutter: دليل ومثال

Overlay.of هي طريقة ثابتة Flutter تستخدم لاسترداد عنصر OverlayState واجهة المستخدم لأقرب عنصر واجهة مستخدم Overlay.

يتم استخدام عنصر Overlay واجهة المستخدم لإنشاء حزمة من عناصر واجهة المستخدم التي يمكن عرضها أعلى عناصر واجهة المستخدم الأخرى في Flutter التطبيق. تسمح لك الطريقة Overlay.of بالوصول إلى الملف OverlayState المرتبط بملف BuildContext.

فيما يلي مثال لكيفية استخدامك Overlay.of للوصول إلى OverlayState:

import 'package:flutter/material.dart';  
  
void main() {  
  runApp(MyApp());  
}  
  
class MyApp extends StatelessWidget {  
  @override  
  Widget build(BuildContext context) {  
    return MaterialApp(  
      home: MyHomePage(),  
   );  
  }  
}  
  
class MyHomePage extends StatelessWidget {  
  @override  
  Widget build(BuildContext context) {  
    return Scaffold(  
      appBar: AppBar(  
        title: Text('Overlay.of Example'),  
     ),  
      body: Center(  
        child: ElevatedButton(  
          onPressed:() {  
            OverlayState overlayState = Overlay.of(context);  
            OverlayEntry overlayEntry = OverlayEntry(  
              builder:(BuildContext context) {  
                return Positioned(  
                  top: 100,  
                  left: 50,  
                  child: Container(  
                    width: 100,  
                    height: 100,  
                    color: Colors.blue,  
                 ),  
               );  
              },  
           );  
            overlayState.insert(overlayEntry);  
          },  
          child: Text('Show Overlay'),  
       ),  
     ),  
   );  
  }  
}  

في هذا المثال ، عند الضغط على الزر ، Overlay.of تُستخدم الطريقة لاسترداد OverlayState المرتبط بالتيار BuildContext. ثم OverlayEntry يتم إنشاء وإضافته إلى طريقة overlay استخدام. يعرض هذا حاوية زرقاء في موضع محدد أعلى عناصر واجهة المستخدم الأخرى. insert OverlayState

يرجى ملاحظة أن الاستخدام overlay يتطلب إدارة دقيقة ، ويجب عادةً إزالة الإدخالات من عندما overlay لم تعد هناك حاجة إليها لتجنب تسرب الذاكرة.

إذا كانت هناك أي تحديثات أو تغييرات متعلقة Overlay.of بعد التحديث الأخير ، فإنني أوصي بمراجعة الوثائق Flutter للحصول على أحدث المعلومات.