J'ai une barre d'action dans mon application avec 3 éléments.
Seulement 2 peuvent être affichés en raison de problèmes d'espace, donc je m'attendrais à ce que le premier soit affiché et le reste à être affiché dans le débordement. Cependant, en pratique, seuls les 2 premiers éléments sont représentés et il n'y a pas de débordement détectable.
Voici le code pertinent: list_menu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/menu_insert"
android:icon="@android:drawable/ic_menu_add"
android:title="@string/menu_insert"
android:showAsAction="ifRoom|withText"/>
<item android:id="@+id/menu_call"
android:icon="@android:drawable/ic_menu_call"
android:title="@string/menu_call"
android:showAsAction="ifRoom|withText"/>
<item android:id="@+id/menu_agenda"
android:icon="@android:drawable/ic_menu_agenda"
android:title="@string/menu_agenda"
android:showAsAction="ifRoom|withText"/>
</menu>
Activity.java
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater mi = getMenuInflater();
mi.inflate(R.menu.list_menu, menu);
return true;
}
android
overflow
android-actionbar
Mats Raemen
la source
la source
Réponses:
Si vous souhaitez afficher les trois points, quel que soit le bouton de menu de l'appareil! alors vous pouvez appeler cette méthode dans votre classe d'application 'méthode onCreate-
la source
res / menu / menu.xml
MainActivity.java
Téléchargez le jeu d'icônes de la barre d'action
la source
android:showAsAction="always"
pour plus d'articleJe me rends compte que ce n'est pas un menu à débordement, mais c'est similaire. D'accord, c'est simple mais difficile à comprendre.
Vous avez d'abord besoin d'un élément de menu que vous souhaitez utiliser comme gonfleur de débordement. Exemple
Une fois que vous avez votre élément, ajoutez un sous-menu contenant les éléments que vous souhaitez dans le menu à développer. Exemple:
En cliquant, cela gonflera les autres éléments à l'intérieur. Mon application utilise ActionBarSherlock 4.0 donc avant que cela ne fonctionne pour vous, vous devrez accéder à "SplitActionBar". (Fonctionnera toujours sur la barre d'action Android par défaut)
Voici comment procéder: dans votre fichier AndroidManifest.xml, vous devez ajouter ce code sous l'activité dans laquelle vous avez besoin du menu de débordement.
REMARQUE: votre article qui gonfle votre menu à débordement DOIT
showAsAction="always"
Vwola! vous avez un menu à débordement! J'espère que je vous ai aidé. :)
la source
Sur les appareils avec des boutons de menu matériel (Galaxy S3, têtu comme Samsung est ...) le menu de débordement se comporte comme le menu `` traditionnel '', en utilisant le bouton de menu matériel.
la source
Lorsque vous dites "menu de débordement", voulez-vous dire les trois points qui apparaissent à la fin pour indiquer qu'il y a plus d'éléments ... ou voulez-vous dire la barre d'actions fractionnée qui apparaît en bas pour les éléments de débordement?
Si vous parlez de la barre d'actions fractionnée, vous devez l'ajouter au fichier manifeste de votre activité
Par défaut, le menu de débordement à trois points devrait se produire automatiquement, il est donc difficile de dire quel est le problème à partir des informations que vous avez fournies ci-dessus.
la source
Pour toujours afficher le débordement d'action (trois points) sur actionbarcompat:
dans le fichier menu, exemple:
main.xml
et dans le dossier d'activité:
Cela a bien fonctionné pour moi.
Testé sur Google Nexus S, Samsung S3.
la source
Il semble que sur les appareils dotés d'un bouton de menu, le menu de débordement ne s'affiche pas dans l'ActionBar. De plus, nous n'avons aucun moyen de savoir si un appareil dispose d'un bouton de menu matériel avant le niveau d'API 14 (4.0+).
Cette solution ajoute un bouton de débordement à a
android.support.v7.app.ActionBar
qui ouvre le menu d'options standard sur pré-Honeycomb (<3.0) uniquement, sinon le laisse au système. Dans tous les cas, vous pouvez choisir entrealways
ouifRoom
pour toutes les actions.Obtenez l'icône de débordement dans le pack d' icônes de la barre d'action .
Ajouter un menu (j'omission de certaines parties non pertinentes comme titres, commande, etc.)
Supprimez notre action de débordement sur 3.0+
Appelez enfin à
Activity.openOptionsMenu()
partir de l'action de débordement.Euh non. Vous ne pouvez pas ne pas appeler à
openOptionsMenu()
partir d'un bouton de menu ... mais si vous utilisez AndroidAnnotations, vous avez terminé facilement:Sinon tu devrais faire quelque chose comme ça, je suppose
la source
Essayez de changer le thème de l'application de Theme.AppCompat.Light.DarkActionBar à Theme.AppCompat.Light
la source
Mettez à l'
xmlns:your_app_name="http://schemas.android.com/apk/res-auto"
intérieur la balise de menu etandroid:showAsAction="always"
utilisez à la placeyour_app_name:showAsAction="always"
par exemple
la source