Android Menu

قائمة ال menu هي لوحة تحكم يمكن من خلالها الوصول الى عدة واجهات في التطبيق بكل سهولة , بحيث تكون في اعلى الصفحة تعرض لك الواجهات او icon  تدل على واجهة او خدمات معينة .

 

  1. App bar : بحيث هو الشريط الموجود في الاعلى بحيث يتضمن عنوان الصفحة و وقائمة ال menu وعدد الا  icon  الدالة على صفحات او خدمات معينة .
  2. Options menu action icons : هي نوع من ال menu يمكن من خلالها الوصول الى واجهات او خدمات معينة .
  3. : Overflow button عند الضغط على هذه الثلاث نقاط تظهر قائمة تحتوي العناصر المراد الوصول اليها .
  4.  Options overflow menu : هذه العناصر داخل ال menu تظهر بعد الضغط على الثلال نقط الرئيسية او اي شكل لل menu .

كيف انشئ menu ؟

يتم انشاء ال menu من خلال تعرف ملف من نوع xml في داخله ال item عناصر هذه القائمة , ممكن ان يكون لكل واجهة menu خاصة فيها. فنقوم بتعرف كل واحدة في ملف xml منفصل.

 

خطوات انشاء menu :

اولا : في فولدر ال app نضغط زر اليمين على الماوس , ومن ثم new , ونختار  Android Resource Directory .
تظهر لنا نافذة نحدد ال type من نوع menu . هكذا تم انشاء فولدر سيحتوي جميع فولدرات ال xml الخاصة بكل menu .

ثانياً : في هذا الملف اللذي تم انشائه اللذي اسمه menu , نذغط الزر اليمين على الماوس , ومن ثم new , ونختار Menu Resource File . تظهر لي نافذه نختار اسم معرف لهذه ال menu .
هكذا اصبح لدينا ملف menu لكي نعرف العناصر بداخله يجب تعريف ما يعرف ب items .

ثالثاً : نعرف item وعطي له id  وصورد محددة  icon و عنوان  tittle .
اذا كنت احتاج menu فيها ثلاث عناصر نعرف 3 Items .

رابعاً نريد ربط هذه ال menu مع الواجهة المحددة في كلاس الجافا
فنذهب الى الكلاس وعمل override ل 2 method

الاولى ()onCreateOptionMenu
نربط ملف ال menu هنا بإستخدام ما يسمى بال inflater هكذا :
;(getMenuInflater().inflate(R.menu.menuName,menu

الثانية ()onOptionItemSelected
يستدعة هذه ال method عند الذغط على اي Item
لتحديد اي عنصر تم الضغط عليه واختياره بإستخدام ال id الخاص فيه
;()int id =item.getItemId
هذا الكود يحددلي اي Item تم اختياره والضغط عليه و ننفذ ماذا نريد بعد الضغط على هذا العنصر كالذهاب الى واجهة جديدة او تنفيذ أمر معين.