/ / Pouvez-vous forcer l'affichage du menu d'options déroulant à trois points dans Android ICS? [fermé] - android, menu déroulant, android-actionbar, android-4.0, popupmenu

Pouvez-vous forcer l’affichage du menu d’option déroulant à trois points dans Android ICS? [fermé] - android, menu déroulant, android-actionbar, android-4.0, menu contextuel

J'essaie de trouver un moyen de forcer l'affichage du menu déroulant à trois points dans Android ICS. Je sais que c'est censé montrer quand il manque un bouton dur pour les paramètres / menu.

Voici une capture d'écran de ce à quoi je fais référence:

http://cdn.gottabemobile.com/wp-content/uploads/2011/12/ICS-Screen05.jpg

Merci!

Réponses:

1 pour la réponse № 1

Vous pouvez forcer les éléments à apparaître dans le menu de débordement en utilisant android:showAsAction="never" dans votre menu XML. Cependant, si votre appareil possède une touche de menu matériel, le débordement ne s'affichera pas. Vous devrez faire de la contrefaçon avec un élément sur lequel vous avez cliqué et déposer un menu contextuel personnalisé ou quelque chose.

J'ai également rencontré cela avec mon application, et autant que je préfère le forcer, il est probablement préférable de suivre le comportement attendu de la plate-forme et de le laisser au bouton de menu.


1 pour la réponse № 2

Donc, il s'avère que c'est assez simple, j'ai récemment implémenté mon application.

Les éléments qui doivent être affichés dans le menu de débordement, les imbriquent sous un élément de menu comme suit:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

<item
android:id="@+id/empty"
android:orderInCategory="101"
android:showAsAction="always"
android:icon="@drawable/ic_action_overflow">

<menu>

<item
android:id="@+id/action_settings"
android:orderInCategory="96"
android:showAsAction="never"
android:title="@string/menu_settings"
android:icon="@drawable/ic_action_settings"/>

<item
android:id="@+id/action_share"
android:orderInCategory="97"
android:showAsAction="never"
android:title="@string/menu_share"
android:icon="@drawable/ic_action_share"/>

<item
android:id="@+id/action_rate"
android:orderInCategory="98"
android:showAsAction="never"
android:title="@string/menu_rate"
android:icon="@drawable/ic_action_important"/>

<item
android:id="@+id/action_feedback"
android:orderInCategory="99"
android:showAsAction="never"
android:title="@string/menu_feedback"
android:icon="@drawable/ic_action_edit"/>

</menu>
</item>
</menu>

Maintenant, modifiez le fichier d'activité principal comme suit:

package com.example.test;
//all your import statements go here

Menu mainMenu=null;

@Override
protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState); }

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
mainMenu=menu;
return true; }


//Menu press should open 3 dot menu
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode==KeyEvent.KEYCODE_MENU) {
mainMenu.performIdentifierAction(R.id.empty, 0);
return true; }
return super.onKeyDown(keyCode, event); }