شارك المقالة

شرح Flutter Shrink Slide Card لإنشاء تأثيرات بطاقات متحركة احترافية


إذا كنت تسعى إلى تحسين واجهة المستخدم داخل تطبيق Flutter الخاص بك، فإن استخدام Flutter Shrink Slide Card يعد من أفضل الطرق لإضافة تأثيرات حركية جذابة واحترافية. هذا النوع من الأنيميشن يمنح البطاقات (Cards) طابعًا ديناميكيًا، حيث يتم تقليصها وسحبها عند التفاعل معها، مما يخلق تجربة استخدام ممتعة وسلسة.

في التطبيقات الحديثة، لم تعد الواجهات الثابتة كافية، بل أصبح من الضروري تقديم تفاعلات بصرية تعزز تجربة المستخدم وتجعل التطبيق أكثر حيوية. وهنا يأتي دور تأثير Shrink Slide Card كحل بسيط وقوي في نفس الوقت.

في هذا المقال سنتعرف على كيفية تنفيذ Flutter Shrink Slide Card، الأدوات المستخدمة، وكيفية تحسين الأداء وتجربة المستخدم.

ما هو Flutter Shrink Slide Card؟

يشير مصطلح Shrink Slide Card إلى تأثير بصري يتم تطبيقه على البطاقات داخل التطبيق، حيث يتم تقليص البطاقة وتحريكها (Slide) عند التفاعل معها مثل النقر أو السحب.

هذا التأثير يعطي إحساسًا بأن البطاقة تتحرك داخل الواجهة وتستجيب مباشرة للمستخدم، وهو ما يجعل التصميم أكثر احترافية مقارنة بالبطاقات التقليدية.

يستخدم هذا الأسلوب عادة في:

– عرض الصور – بطاقات المنتجات – واجهات الملفات الشخصية – تطبيقات المحتوى

كيف يعمل تأثير Shrink Slide Card؟

يعتمد Flutter Shrink Slide Card على فكرة الجمع بين تقليص الحجم (Scale) وتحريك العنصر (Translate).

عند التفاعل مع البطاقة:

– يتم تقليل حجم البطاقة (Shrink) – يتم تحريكها للأعلى أو لأي اتجاه (Slide) – عند النقر مرة أخرى تعود إلى وضعها الطبيعي

هذا التفاعل يتم بسلاسة باستخدام أدوات الأنيميشن المدمجة في Flutter.

الأدوات المستخدمة في تنفيذ التأثير

TweenAnimationBuilder
يستخدم لإنشاء انتقال سلس بين قيمتين، مثل حجم البطاقة أو موقعها.

Transform
يستخدم لتحريك أو تكبير أو تصغير العنصر على الشاشة.

Container و BoxDecoration
لتصميم شكل البطاقة من حيث اللون والحواف والظلال.

Curves
لتحديد نمط الحركة وجعلها أكثر طبيعية.

مثال على استخدام TweenAnimationBuilder


TweenAnimationBuilder(
  tween: Tween(begin: 1.0, end: isExpanded ? 0.9 : 1.0),
  duration: Duration(milliseconds: 300),
  curve: Curves.fastOutSlowIn,
  builder: (context, value, child) {
    return Transform.scale(
      scale: value,
      child: child,
    );
  },
)

في هذا المثال، يتم تقليص حجم البطاقة عند التفاعل معها، ثم إعادتها إلى الحجم الطبيعي.

إضافة تأثير الحركة باستخدام Transform

يمكنك أيضًا تحريك البطاقة للأعلى أو للأسفل:

Transform.translate(
  offset: Offset(0, isExpanded ? -20 : 0),
  child: yourWidget,
)

هذا يجعل البطاقة تتحرك للأعلى عند التفاعل، مما يضيف تأثير Slide واضح.

تصميم البطاقة الأساسية

يتم إنشاء البطاقة باستخدام Container:

Container(
  decoration: BoxDecoration(
    color: Colors.white,
    borderRadius: BorderRadius.circular(20),
    boxShadow: [
      BoxShadow(
        color: Colors.black12,
        blurRadius: 10,
      ),
    ],
  ),
  child: Column(
    children: [
      Image.asset('image.png'),
      Text('عنوان البطاقة'),
    ],
  ),
)

هذا التصميم يمكن دمجه بسهولة مع الأنيميشن لإنشاء Flutter Shrink Slide Card متكامل.

كيف تحسن تجربة المستخدم باستخدام هذا التأثير؟

تفاعل مباشر
يشعر المستخدم أن البطاقة تستجيب له فورًا عند النقر.

وضوح بصري
الحركة تساعد في توضيح العنصر النشط.

جاذبية التصميم
الأنيميشن يجعل التطبيق يبدو أكثر احترافية.

تنظيم المحتوى
يمكن استخدام التأثير لإبراز عنصر معين دون إخفاء باقي العناصر.

أفضل استخدامات Flutter Shrink Slide Card

يمكن استخدام هذا التأثير في:

– تطبيقات التجارة الإلكترونية – تطبيقات الصور – تطبيقات الأخبار – واجهات Dashboard – تطبيقات التواصل الاجتماعي

أي واجهة تعتمد على البطاقات يمكنها الاستفادة من هذا التأثير.

نصائح لتحسين الأداء

تجنب المبالغة في الأنيميشن
استخدم التأثير بشكل معتدل.

تقليل مدة الأنيميشن
اجعل الحركة سريعة لتجنب الإحساس بالبطء.

اختبار الأداء
جرب التطبيق على أجهزة مختلفة.

استخدام Widgets خفيفة
لتقليل استهلاك الموارد.

رابط الكود


https://github.com/yunweneric/flutter-open-ui/blob/shrink_slide_card/lib/screens/home_screen.dart

رابط المقال


https://github.com/yunweneric/flutter-open-ui/blob/shrink_slide_card/lib/screens/home_screen.dart

الخلاصة

يعد Flutter Shrink Slide Card من أفضل التأثيرات التي يمكنك استخدامها لإضافة لمسة احترافية إلى واجهة المستخدم داخل تطبيقات Flutter. فهو يجمع بين البساطة في التنفيذ والجاذبية في النتيجة.

باستخدام أدوات مثل TweenAnimationBuilder و Transform يمكنك إنشاء تأثيرات حركية سلسة تجعل التطبيق أكثر تفاعلية وحداثة.

إذا كنت ترغب في تحسين تجربة المستخدم داخل تطبيقك، فإن هذا التأثير يعد خيارًا ممتازًا يستحق التجربة.

لمزيد من المقالات : شرح Observer Design Pattern بالتفصيل مع مثال عملي في Java
يمكنك متابع جي كودرس لمزيد من المقالات البرمجيه في مختلف المجالات
شاهد أيضًا
مقالات ذات صلة

🚫 مانع الإعلانات مفعل

يجب إيقاف مانع الإعلانات لاستكمال تصفح الموقع