كيفية الانتقال الى صفحة جديده بعد هز الهاتف في فلاتر

كيفية الانتقال الى صفحة جديده بعد هز الهاتف في فلاتر

كيفية الانتقال الى صفحة جديده بعد هز الهاتف في فلاتر

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


أداة بناء الواجهة التي تستخدم Dart تسمى flutter. من الممكن أيضًا وصفه بأنه إطار عمل Google UI. بالإضافة إلى ذلك ، فهو يستهدف منصات سطح المكتب والجوال وعبر الإنترنت بقاعدة كود واحدة. إحدى ميزاته هو مترجم Dart الأصلي الذي ينتج برامج ARM المحسّنة للأجهزة. هناك العديد من المزايا لاستخدام Flutter كمنصة لإنشاء تطبيقات الهاتف المحمول. تم إدراج أفضل 4 منصات لمساعدتك في اختيار النظام الأفضل لك: يضمن Flutter أداءً خاليًا من الأخطاء وعرضًا موحدًا لجميع الأنظمة التي تدعمه عندما تفشل واجهة المستخدم الأصلية جزئيًا أو كليًا في العرض أو تفتقد بعض الوظائف. تتضمن بعض الأمثلة الأفضل Insight Timer و Stadia و Reflect وبعض خدمات Google ، مثل إعلانات Google.



اضافة مكتبة لتنفيذ امر بعد هز الهاتف ومكتبة اهتزاز الهاتف 


dependencies :

  shake: ^2.1.0

  vibration: ^1.7.4-nullsafety.0


الانتقال الى صفحة جديده في فلاتر اثناء هز الهاتف مع اصدار اهتزاز اثناء الانتقال

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


الانتقال الى صفحة جديده في فلاتر اثناء هز الهاتف مع اصدار اهتزاز اثناء الانتقال

sake.dart


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

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

class _FullPageState extends State<FullPage> {

  @override
  void initState() {
    super.initState();
    shake();
  }

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


  void shake() {
    ShakeDetector shakeDetector = ShakeDetector.autoStart(onPhoneShake: (){
      // Vibration after Shake and rate Vibration 128 .
      Vibration.vibrate(amplitude: 128);
      // nav to after Shake
      Navigator.push(context, MaterialPageRoute(builder: (context) => TestPage(),));
    });
    shakeDetector.startListening();
  }


  @override
  Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: Colors.grey[300],
      appBar: AppBar(
        backgroundColor: Colors.grey[200],
      ),
      body: Column(
        mainAxisAlignment: MainAxisAlignment.center,
        crossAxisAlignment: CrossAxisAlignment.center,
        children: [
        ],
      ),
    );
  }

}


فيديو الشرح



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


تعليقات