Artículos de la barra de herramientas de Android como tres puntos

Tengo un menú para mi actividad principal (res / menu / main_menu.xml) y sólo quiero un elemento en la barra de acción y el resto se oculta bajo tres puntos del menú. Menú de tres puntos

El problema es que nunca veo el elemento de tres puntos en mi barra de acción. ¿Por qué no puedo ver el elemento de tres puntos? ¿Cómo obligar a los artículos a estar escondidos bajo él?

Nota: Utilizo minSdkVersion = "14" y pruebo en AVD.

<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <item android:id="@+id/menu_item_share" android:title="@string/share" android:icon="@android:drawable/ic_menu_share" app:showAsAction="ifRoom" android:actionProviderClass="android.widget.ShareActionProvider" /> <item android:id="@+id/empty" android:title="@string/options" android:orderInCategory="101" app:showAsAction="always" android:icon="@drawable/ic_action_overflow"> <menu> <item android:id="@+id/action_settings" android:icon="@android:drawable/ic_menu_preferences" app:showAsAction="ifRoom" android:title="@string/settings" /> <item android:id="@+id/action_help" android:icon="@android:drawable/ic_menu_help" app:showAsAction="ifRoom" android:title="@string/help" /> </menu> </item> </menu> 

Tendrás que agregar los iconos ic_action_overflow a tus carpetas res/drawable... una vez que los hayas descargado desde aquí: http://developer.android.com/design/downloads/index.html

Esta solución proporcionada por ban-geoengineering es una muy intresting … 3 icono de punto a veces no se muestra si se utiliza android: showAsAction namespace android: espacio de nombres personalizado como:

 <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <item android:id="@+id/taskNotificationsBtn" app:showAsAction="always" android:icon="@drawable/tasks"/> 

Pero la solución proporcionada por la ban-geoengineering me ayuda a solucionar el problema con la dirección de los objetos de ActionBar que invierte para emparejar esto a la disposición árabe. He utilizado la biblioteca de ActionBarRTLizer y el acercamiento estándar con el androide 3dots causa un cierto error cuando los iconos del ítem del menú se cubren a veces (situación muy frustratign), pero esta solución de encargo

 <item android:id="@+id/empty" android:title="@string/options" android:orderInCategory="101" android:showAsAction="always" android:icon="@drawable/ic_action_overflow"> <menu> <item android:id="@+id/action_settings" android:icon="@android:drawable/ic_menu_preferences" android:showAsAction="ifRoom" android:title="@string/settings" /> <item android:id="@+id/action_help" android:icon="@android:drawable/ic_menu_help" android:showAsAction="ifRoom" android:title="@string/help" /> </menu> </item> 

Resolvió el problema y RTL funciona perfectamente bien! 🙂

Esto también puede ser útil si desea manejar botones de menú de hardware:

 @Override public boolean onKeyUp(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_MENU) { // do stuff return true; } else { return super.onKeyUp(keyCode, event); } } 

Y agregue aquí: mMenuReference.performIdentifierAction (R.id.menu_0, 1);

Para reemplazar el submenú mostrado como menú de desbordamiento dependiendo, por ejemplo, de la actividad actual, podría utilizar esta solución:

 public boolean onCreateOptionsMenu(Menu menu) { // Inflate your main_menu into the menu getMenuInflater().inflate(R.menu.main_menu, menu); // Find the menuItem to add your SubMenu MenuItem myMenuItem = menu.findItem(R.id.my_menu_item); // Inflating the sub_menu menu this way, will add its menu items // to the empty SubMenu you created in the xml getMenuInflater().inflate(R.menu.sub_menu, myMenuItem.getSubMenu()); 

}

¿Por qué no puedo ver el elemento de tres puntos?

Su emulador está emulando un dispositivo que tiene un botón MENU. Si hay un botón MENU en el dispositivo, el botón MENU muestra el desbordamiento.

La solución se puede encontrar aquí https://stackoverflow.com/a/27502405/1808829 , que funcionó perfecto para mí. No hay necesidad de trabajar con el personal xml, se hace sólo mediante programación.

 private void getOverflowMenu() { try { ViewConfiguration config = ViewConfiguration.get(this); Field menuKeyField = ViewConfiguration.class.getDeclaredField("sHasPermanentMenuKey"); if(menuKeyField != null) { menuKeyField.setAccessible(true); menuKeyField.setBoolean(config, false); } } catch (Exception e) { e.printStackTrace(); } } 
  • Cómo cambiar el color de fondo del menú de ActionBar (android 4 y 5)
  • Menú del mapa de externalización
  • Cómo crear resideMenu en Android?
  • Phonegap cordova nativo android menubutton no disparar
  • Menú de tipo ListView anidado de forma arbitraria de Android
  • Cómo configurar el menú deslizante de Jfeinstein10 en android / eclipse
  • Sherlock Barra de Acción con menú deslizante
  • Cambiar el color del texto del elemento de menú en el cajón de navegación
  • Cómo obtener un SearchView con MenuItemCompat (Android)
  • Icono de menú que no se muestra en la barra de acción
  • Android ICS: Cómo detectar que un dispositivo tiene "en la pantalla Volver / botón Inicio" (como Galaxy Nexus)
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.