Barre d'action Android compat
C'est possible? Sur les appareils plus anciens (antérieurs à 3.0), les éléments qui ne correspondent pas à la barre d'action ne sont affichés que lorsque la touche de menu est enfoncée. Je souhaite que ces éléments soient regroupés dans le menu de débordement de la barre d'action.
Réponses
Trop de publicités?L'action de débordement de menu n'est disponible que lorsqu'il n'y a pas de bouton de menu disponibles sur le périphérique. J'ai trouvé ceci dit, dans le Cadre des Sujets en vertu de l'Interface Utilisateur > Barre d'Action, découvrez la 3ème balle ici.
Il y a une barre d'action de la bibliothèque écrit par Jake Wharton appelé ActionBarSherlock. C'est peut-être en mesure de vous fournir une action de débordement de style de menu, même quand sur les appareils plus anciens (qui comprennent un dur bouton de menu), mais je n'ai pas regardé dans cette.
Edit: ActionBarSherlock 4.0 (actuellement une version release candidate) a des fonctionnalités intégrées dans la force de l'action de débordement. Si vous souhaitez étendre la ActionBarCompat exemple vous-même, vous pouvez prendre un coup d'oeil sur github, pour obtenir une idée de comment Jake mise en œuvre. Je dirais juste à la recherche à l'aide de sa bibliothèque, tous ensemble, comme il est très bien fait.
Si vous choisissez d'utiliser de Jake bibliothèque, regarder dans la configuration de l'Activité thème comme @style/Thème.Sherlock.ForceOverflow pour forcer le menu de dépassement sur les appareils plus anciens.
Edit2: à l'Aide de ForceOverflow
thème causes des problèmes (exemple #1) sur les appareils équipés du matériel le bouton menu. Ainsi, Jake Wharton va supprimer ForceOverflow
dans les versions futures.
Ok, c'est simple mais difficile à comprendre.
Il faut d'abord un élément de menu que vous souhaitez utiliser comme le dépassement de inflater. Exemple
<item
android:id="@+id/a_More"
android:icon="@drawable/more"
android:showAsAction="always"
android:title="More">
</item>
Une fois que vous avez votre article, ajouter un sous-menu contenant vos éléments que vous voulez dans le menu contextuel. Exemple:
<item
android:id="@+id/a_More"
android:icon="@drawable/more"
android:showAsAction="always"
android:title="More">
<menu>
<item
android:id="@+id/aM_Home"
android:icon="@drawable/home"
android:title="Home"/>
</menu>
</item>
Cliquez sur ce fait gonfler d'autres éléments à l'intérieur. Mon application utilise ActionBarSherlock 4.0 donc avant que cela ne fonctionne pour vous, vous aurez besoin pour accéder à la "SplitActionBar". (Fonctionnera toujours sur android par défaut Actionbar)
Voici comment: Dans votre AndroidManifest.xml fichier, vous devez ajouter ce code en vertu de l'activité, vous devez le menu de dépassement dans. Honnêtement, il ne compte pas si vous avez l'actionbar split ou pas, mais je la préfère.
android:uiOptions="splitActionBarWhenNarrow"
REMARQUE: Votre article qui gonfle votre menu de dépassement DOIT showAsAction="always"
Vwola! vous avez un menu de dépassement! Espère que j'ai aidé. :)
Suite à la suggestion de LeviRockerSk8er, j'ai forcé un menu de débordement dans la barre d'action comme ceci:
C'est le code pour "menu.xml":
<item
android:id="@+id/web_clasica"
android:icon="@drawable/ic_action_web_site"
android:showAsAction="ifRoom"
android:title="@string/menu_web"
/>
<item
android:id="@+id/overflow_fijo"
android:icon="@drawable/ic_action_core_overflow"
android:showAsAction="always"
android:title="@string/menu_email"
>
<menu>
<item
android:id="@+id/email"
android:icon="@drawable/ic_action_new_email"
android:showAsAction="ifRoom"
android:title="@string/menu_email"
/>
<item
android:id="@+id/share"
android:icon="@drawable/ic_action_share"
android:showAsAction="ifRoom"
android:title="@string/menu_share"
/>
<item
android:id="@+id/about"
android:showAsAction="ifRoom"
android:icon="@drawable/ic_action_action_about"
android:title="@string/menu_about"/>
</menu>