شارك المقالة

كيفية اضافة خاصية شرح لعناصر تطبيقك في فلاتر | Show Case Widget in flutter


كيفية اضافة خاصية شرح لعناصر تطبيقك في فلاتر | Show Case Widget in flutter

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


تُستخدم الآن أفضل أطر تطوير التطبيقات عبر الأنظمة الأساسية من قبل شركات تطوير تطبيقات الأجهزة المحمولة الرائدة في الولايات المتحدة ، بما في ذلك PhoneGap و Xamarin و Flutter و React Native ، من بين آخرين.

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

نظرًا لأنه يتعين على المطورين القيام بقدر أقل من الترميز ، فإنه يُعرف أيضًا باسم لغة تطوير التطبيقات الصديقة للمطورين. على الرغم من أن Flutter يجعل إنشاء تطبيقات الأجهزة المحمولة أمرًا بسيطًا ، إلا أن له مزايا وعيوب.


add Show Case Widget dep


dependencies:

  showcaseview: ^1.1.5



Explain the elements in your application flutter


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


Explain the elements in your application flutter

ui.dart


import 'package:flutter/material.dart';
import 'package:showcaseview/showcaseview.dart';

class FullPage extends StatefulWidget {
  const FullPage({Key? key}) : super(key: key);

  @override
  State<FullPage> createState() => _FullPageState();
}

class _FullPageState extends State<FullPage> {
  final keyOne = GlobalKey();
  final keyTwo = GlobalKey();
  final keyThere = GlobalKey();
  final keyFour = GlobalKey();

  @override
  void initState() {
    super.initState();
    
    WidgetsBinding.instance.addPostFrameCallback(
        (timeStamp) => ShowCaseWidget.of(context)!.startShowCase([
              keyOne,
              keyTwo,
              keyThere,
              keyFour,
            ]));
  }

  @override
  void dispose() {
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        actions: [
          // you can use this
          Showcase(
              key: keyOne,
              description: 'This is search',
              descTextStyle: const TextStyle(
                  color: Colors.white, fontWeight: FontWeight.bold),
              contentPadding: const EdgeInsets.all(10),
              showcaseBackgroundColor: Colors.red,
              child:
                  IconButton(onPressed: () {}, icon: const Icon(Icons.search))),
          // or use this .
          CustomShowCase(
              title: 'this is home',
              keyGlobal: keyTwo,
              child: IconButton(
                  onPressed: () {
                    print('home');
                  },
                  icon: const Icon(Icons.home))),
        ],
      ),
      floatingActionButton: CustomShowCase(
          title: 'this is floatingActionButton',
          keyGlobal: keyThere,
          child: FloatingActionButton(
              onPressed: () {}, child: const Icon(Icons.abc))),
      body: Column(
        children: [
          CustomShowCase(
              title: 'this is Container',
              keyGlobal: keyFour,
              child: Container(
                width: double.infinity,
                height: 100,
                color: Colors.orange,
              ))
        ],
      ),
    );
  }
}

// custom widget
class CustomShowCase extends StatelessWidget {
  final Widget child;
  final String title;
  final GlobalKey keyGlobal;

  const CustomShowCase({
    Key? key,
    required this.title,
    required this.keyGlobal,
    required this.child,
  }) : super(key: key);

  @override
  Widget build(BuildContext context) => Showcase(
        // keys
        key: keyGlobal,
        description: title,
        // style text .
        descTextStyle:
            const TextStyle(color: Colors.white, fontWeight: FontWeight.bold),
        // padding
        contentPadding: const EdgeInsets.all(15),
        // animation
        disableAnimation: false,
        // color 
        showcaseBackgroundColor: Colors.red,
        // background screen
        overlayColor: Colors.black,
        // Arrow
        showArrow: true,
        // padding item
        overlayPadding: const EdgeInsets.all(10),
        // Opacity
        overlayOpacity: 0.7,
        child: child,
      );
}


how to run Show Case screen


how to run Show Case screen

main.dart


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

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      debugShowCheckedModeBanner: false,
      home: ShowCaseWidget(builder:Builder(builder:(_)=> const FullPage()),
      autoPlay: true,
        autoPlayDelay: const Duration(seconds: 3),
        onFinish:()=> print('Done'),
        onComplete: (index,key)=> print(' $index is finish'),
      ),
    );
  }
}


android sdk manager تحميل flutter developers applications create app android android studio mac


شاهد أيضًا
مقالات ذات صلة
شرح كيفية استخدام API داخل تطبيقك في أندرويد ستوديو – Android Studio

السلام عليكم ورحمه الله وبركاته في هذا المقال يعد أول مقال من دروس تعلم ربط…

حل مشكلة Cross-Origin Sharing في دقائق باستخدام CORS وNode.js

كيف تتجنب أخطاء CORS الشائعة عند تطوير APIs باستخدام Node.js كل ما تريد معرفتة عن…

كود برنامج جافا لطباعة الاعداد الزوجية من 1 الى 100 – print even number java code

كود برنامج جافا لطباعة الاعداد الزوجية من 1 الى 100 – ( اكواد جافا بالعربي…

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

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