في بعض الأحيان، قد يكون من الضروري تجاهل التفاعل مع عنصر واجهة المستخدم في تطبيقات Flutter. يمكن استخدام IgnorePointer لتجاهل التفاعل مع العنصر، وذلك عن طريق تمرير الحدث الذي يتم استقباله من العنصر إلى العنصر الأب. في هذه المقالة، سنتعرف على IgnorePointer ونشرح جميع خصائصه بالتفصيل.
ما هو IgnorePointer؟
IgnorePointer هو عنصر واجهة Flutter يُستخدم لتجاهل التفاعل مع العنصر، وذلك عن طريق تمرير الحدث الذي يتم استقباله من العنصر إلى العنصر الأب. يمكن استخدام IgnorePointer مع عناصر واجهة المستخدم المختلفة مثل GestureDetector و InkWell وغيرها.
“اقرأ أيضاً: شرح استخدام ويدجت AspectRatio في فلاتر“
خصائص IgnorePointer
يحتوي IgnorePointer على مجموعة من الخصائص التي يمكن تعيينها لتجاهل التفاعل مع العنصر. يتم تفصيل الخصائص في الأسفل:
ignoring
تحدد ما إذا كان العنصر يجب أن يتجاهل الحدث أم لا. إذا تم تعيين هذه الخاصية إلى true، فسيتم تجاهل الحدث ولن يتم استقباله، وإذا تم تعيينها إلى false، فسيتم استقبال الحدث. يمكن تعيين هذه الخاصية عبر الكود التالي:
ignoring: true,
“اقرأ أيضاً: شرح استخدام ويدجت PositionedTransition في فلاتر“
ignoringSemantics
تحدد ما إذا كان العنصر يجب أن يتجاهل البيانات الوصفية أو لا. إذا تم تعيين هذه الخاصية إلى true، فلن يتم إرسال أي بيانات وصفية إلى العنصر، وإذا تم تعيينها إلى false، فسيتم إرسال البيانات الوصفية إلى العنصر. يمكن تعيين هذه الخاصية عبر الكود التالي:
ignoringSemantics: true,
استخدام IgnorePointer في Flutter
لإستخدام IgnorePointer في تطبيقك، يجب أولاً استيراد العنصر من حزمة Flutter الرسمية. يمكنك فعل ذلك بإضافة السطر التالي إلى ملف الاستيرادات:
import 'package:flutter/material.dart';
ثم، يمكن استخدام IgnorePointer حول العنصر الذي تريد تجاهل التفاعل معه. في المثال التالي، نستخدم IgnorePointer لتجاهل التفاعل مع عنصر GestureDetector:
IgnorePointer( ignoring: true, child: GestureDetector( onTap: () { print('Button pressed'); }, child: Text('Press me'), ), ),
يتم تجاهل التفاعل مع GestureDetectorوعدم استجابة العنصر لأي حدث، مثل الضغط أو النقر. وفي حالة رغبتك في تجاهل التفاعل مع البيانات الوصفية، يمكن تعيين خاصية ignoringSemantics إلى true، كما هو موضح في المثال التالي:
IgnorePointer( ignoringSemantics: true, child: GestureDetector( onTap: () { print('Button pressed'); }, child: Text('Press me'), ), ),
“اقرأ أيضاً: شرح استخدام ويدجت CircleAvatar في فلاتر“
باستخدام IgnorePointer، يمكنك تجاهل التفاعل مع عناصر واجهة المستخدم في تطبيقات Flutter. يحتوي IgnorePointer على خصائص مناسبة لتحديد ما إذا كان العنصر يجب تجاهل الحدث أو البيانات الوصفية أو لا. يمكن استخدام IgnorePointer مع العديد من عناصر واجهة المستخدم المختلفة.