GestureDetector
التقاط إيماءات اللمس GestureDetector
GestureDetector يجعل أي ويدجت (حتى لو لا يستجيب للضغط أصلًا) قابلًا للتفاعل — نقرة، نقرتان، ضغط طويل.
بعكس أزرار Material (ElevatedButton...)، GestureDetector لا يضيف أي مظهر بصري (لا تموّج Ripple ولا حالة ضغط) — فقط يلتقط الإيماءة. لإضافة تأثير بصري بسيط، InkWell خيار أنسب فوق خلفية Material.
الصياغة
GestureDetector(
onTap: () { },
onLongPress: () { },
child: Widget,
)📄 مثال
GestureDetector(
onTap: () => print('ضُغط على الصورة'),
child: Image.network('https://picsum.photos/100'),
)أهم المعاملات
| المعامل | الوظيفة |
|---|---|
| onTap | نقرة واحدة |
| onDoubleTap | نقرتان متتاليتان بسرعة |
| onLongPress | ضغط مطوّل |
| child | الويدجت الذي يصبح قابلًا لالتقاط الإيماءات |
💡 نصائح عملية
- استخدم InkWell بدل GestureDetector فوق خلفية Material إن أردت تأثير التموّج البصري القياسي عند الضغط
⚠️ أخطاء شائعة
- توقّع ظهور تأثير بصري عند الضغط — GestureDetector صامت بصريًا تمامًا، الإيماءة تُلتقَط فقط بلا أي تغذية راجعة مرئية تلقائية
خصائص ذات صلة
🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار FLUTTER الكامل بالعربي.