Comment créer un menu d'options dans Android?

Je veux créer un menu d'option simple dans l'application Android avec c # et Xamarin Studio. Comment puis-je le faire?

Je n'ai trouvé aucun exemple de C #. Quelqu'un peut-il simplement expliquer comment créer un menu d'option, s'il vous plaît?

  • Devrais-je apprendre Java avant d'apprendre Android
  • Ajouter une propriété personnalisée à un marqueur (Google Map Android API V2)
  • Application de débogage dans Galaxy S5
  • Exemple de serveur java GCM
  • En utilisant jsoup avec proguard fermeture force close
  • Génère JavaDocs Android Studio
  • Android NDK - OpenGL ES Didacticiel / Bibliothèques
  • Séparation entre les rangées dans la disposition des tableaux
  • Bonnes lignes directrices pour le développement d'une application de commerce électronique
  • ANDROID: Comment obtenir un accès root dans une application Android?
  • Android: comment obtenir des données / anr / traces.txt depuis Samsung Galaxy Tab?
  • Exemple Android Bluetooth
  • One Solution collect form web for “Comment créer un menu d'options dans Android?”

    Définition du menu

    Une façon de créer un menu utilise un fichier XML placé dans le menu Ressources / menu de votre projet Xamarin.Android.

    Par exemple:

    Ressources / Menu / mymenu.xml

    <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/item1" android:title="Item 1"/> <item android:id="@+id/item2" android:title="Item 2"/> <item android:id="@+id/item3" android:title="Item 3"/> </menu> 

    Pour voir quelles autres options vous pouvez définir dans un fichier xml menu, consultez la documentation officielle .

    Utilisation du menu

    Vous pouvez gonfler un menu xml dans plusieurs emplacements. Quelques exemples:

    Dans une barre d'outils

     Android.Support.V7.Widget.Toolbar toolbar = FindViewById<Android.Support.V7.Widget.Toolbar>(Resource.Id.mytoolbar); toolbar.InflateMenu(Resource.Menu.mymenu); 

    Gérer les clics

    Pour gérer les événements de clic sur un menu de la barre d'outils, vous devez implémenter l'interface Toolbar.IOnMenuItemClickListener la méthode suivante:

     public bool OnMenuItemClick(IMenuItem item) { switch (item.ItemId) { case Resource.Id.item1: //Do stuff for item1 return true; case Resource.Id.item2: //Do stuff for item2 return true; case Resource.Id.item3: //Do stuff for item3 return true; default: return false; } } 

    Vous devez alors ajouter la classe implémentant l'interface à la barre d'outils en tant qu'écoute:

     toolbar.SetOnMenuItemClickListener(your_listener_class); 

    Dans l'emplacement de menu par défaut d'une Activité ou d'un Fragment (DEPRECATED)

    Dans la plupart des cas, l'emplacement de menu par défaut d'une activité ou d'un fragment est soit le bouton du menu du matériel, soit l'ActionBar. L'ajout d'un menu ici peut être effectué en remplaçant la méthode suivante:

    Dans une activité:

     public override bool OnCreateOptionsMenu(IMenu menu) { MenuInflater.Inflate(Resource.Menu.mymenu, menu); return true; } 

    Dans un fragment:

     public override void OnCreateOptionsMenu(IMenu menu, MenuInflater inflater) { inflater.Inflate(Resource.Menu.mymenu, menu); } 

    Assurez-vous que HasOptionsMenu défini sur true dans le document OnCreate of the Fragment pour que cela fonctionne.

    Gérer les clics

    Vous pouvez ensuite gérer les clics dans le menu en OnOptionsItemSelected

     public override bool OnOptionsItemSelected(IMenuItem item) { switch (item.ItemId) { case Resource.Id.item1: //Do stuff for item1 return true; case Resource.Id.item2: //Do stuff for item2 return true; case Resource.Id.item3: //Do stuff for item3 return true; default: return false; } } 

    Après avoir manipulé l'élément sélectionné, nous renvoyons pour informer le système.

    Alternative: création d'un menu par programmation

    Un menu très basique est accompli en OnCreateOptionsMenu méthode OnCreateOptionsMenu comme ceci:

     public override bool OnCreateOptionsMenu(IMenu menu) { menu.Add(0,0,0,"Item 0"); menu.Add(0,1,1,"Item 1"); menu.Add(0,2,2,"Item 2"); return true; } 

    Vous pouvez ensuite gérer les clics dans le menu des options en OnOptionsItemSelected méthode OnOptionsItemSelected .

     public override bool OnOptionsItemSelected(IMenuItem item) { switch (item.ItemId) { case 0: //Do stuff for item 0 return true; case 1: //Do stuff for item 1 return true; case 2: //Do stuff for item 2 return true; default: return false; } } 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.