Menu déroulant de l'icône sur Android
Mon menu de code xml menu.xml:
<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Single menu item
Set id, icon and Title for each menu item
-->
<item android:id="@+id/back"
android:icon="@drawable/back1"
android:showAsAction="never"
android:title="Back" />
<item android:id="@+id/My_Profile"
android:icon="@drawable/myprofile"
android:showAsAction="never"
android:title="My Profile" />
<item android:id="@+id/Job_Alert"
android:icon="@drawable/jobalert4"
android:showAsAction="never"
android:title="Job Alert !" />
<item android:id="@+id/saved_job"
android:icon="@drawable/jobapplied"
android:title="Saved Jobs"
/>
<item android:id="@+id/Logout"
android:icon="@drawable/logout"
android:title="Logout" />
</menu>
Je vais appeler le menu xml comme ceci
PopupMenu popup = new PopupMenu(getBaseContext(), v);
popup.getMenuInflater().inflate(R.menu.menu, popup.getMenu());
popup.show();
Mais il n'affiche pas l'icône.
Comment puis-je régler l'icône sur le menu déroulant?
- Montrez-vous menu contextuel ?
- je suis en train de montrer menu, cliquez sur le bouton du haut
- La caisse de ma réponse qui pourrait vous aider.
- oui, je le veux comme ça et je le comprends sur l'utilisation de la disposition de fichier xml pour le menu, mais je n'ai pas la moindre idée de showStatusPopup méthode parce que je suis nouveau sur android donc plz me fournir un exemple simple
- J'ai déjà donné un exemple de lien dans ma réponse découvrez. @user3145614
- quand je suis en utilisant ce code puis crash de l'application et de recevoir des messages d'erreurs
- Le code que vous utilisez, et quelle est l'erreur que vous obtenez?
- j'ai corrigé l'erreur, mais open xml pleine page et je n'ai jamais aucune idée sur ce que le code ' currentRowId = position; currentRow = v; // Obtenir la localisation x, y et de le stocker dans l'emplacement tableau[] position[0] = x, emplacement[1] = y. v. getLocationOnScreen(emplacement);'
- je suis en train de faire comme ce popup lien
- Essayer ce lien code.google.com/p/android-icon-context-menu
Vous devez vous connecter pour publier un commentaire.
Fait Menu Contextuel ne prend pas en charge les icônes.
Si vous voulez contexte menu/pop-up menu avec des icônes Ici est le chemin.
Vous pouvez aller pour QuickAction3D les serveurs de la fonctionnalité que vous souhaitez utiliser.
Découvrez fil qui pourrait vous aider.
Vous pouvez créer un menu avec de l'icône à l'aide de la
MenuBuilder
etMenuPopupHelper
.menu.xml
MenuBuilder constructor can only be called from within the same library group
.Vous pouvez activer les icônes de menu à l'aide de Java réflexion pour appeler un de caché méthode que ci-dessous:
Vous pouvez utiliser la réflexion, comme décrit ici:
https://stackoverflow.com/a/18431605/4521603
Ou si vous utilisez Xamarin /C#:
ajouter:
Ensuite l'utiliser dans votre code:
Utiliser ceci:
Source: https://gist.github.com/mediavrog/9345938
public void showPopup(View v) { IconizedMenu popup = new IconizedMenu(this, v); MenuInflater inflater = popup.getMenuInflater(); inflater.inflate(R.menu.menu_myactivity, popup.getMenu()); popup.show(); }
C'est parce que lorsque vous utilisez le
showAsAction="never"
attribut, la valeur par défaut de débordement de ne pas retourner votre icône. Vous pouvez créer votre propre dépassement de comme ceci:si vous essayez ce code dans une activité, alors remplacer getbBaseContext() avec ce que je.e contexte d'activité
avant popupMenu.show(); utilisation
Vous pouvez mettre en œuvre ce Par l'utilisation de la Réflexion si u n'est pas familier avec l'aide de ce génial java avancé de la fonction u peut modifier le comportement d'exécution des applications en cours d'exécution dans la JVM, vous pouvez regarder l'objet et s'acquitter de ses méthodes d'exécution et dans notre cas, nous avons besoin de modifier popupMenu comportement à l'exécution au lieu d'étendre la classe de base et la modifier 😉 j'espère que d'Essayer ma méthode de travail comme un charme