Icono del menú que no se muestra en la barra de acción
Android Studio 0.5.8
Hola,
Por alguna razón el icono nunca aparece en la barra de acción, he usado una combinación de ifRoom | withText pero todavía no se muestra. También he intentado girar en Paisaje. Estoy usando genymotion 4.4.2
- Android getActionBar vs getSupportActionBar?
- Cómo ocultar la barra de acción inferior en Android?
- Activar el menú CAB cuando OnClickEvent sucede en Android
- Lengüetas de la barra de la acción de Android
- Cómo personalizar Android ActionBar para mostrar una vista personalizada antes de las pestañas?
<?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:title="@string/new_crime" android:id="@+id/menu_item_new_crime" android:icon="@drawable/ic_action_new" app:showAsAction="always"/> </menu>
Estoy inflando el menú en un fragmento:
@Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { super.onCreateOptionsMenu(menu, inflater); inflater.inflate(R.menu.fragment_crime_list, menu); }
Aquí hay una captura de pantalla:
He intentado el nexus5 del hardware en modo del retrato y del paisaje, pero ningún icono.
También he intentado usar el siguiente, pero tampoco funcionó:
android:icon="@android:drawable/ic_menu_add"
Muchas gracias por las sugerencias,
- Android eliminar icono de la aplicación barra de acción
- OnNavigationItemSelected en ActionBar se está llamando en el inicio cómo puede evitarlo?
- ¿Cuál es el equivalente de ActionBar en versiones anteriores de sdk?
- Cómo personalizar el botón Atrás en ActionBar
- ¿Puedo desactivar la navegación de ActionBar Spinner?
- Agregar barra de herramientas a la actividad causa NoClassDefFoundError
- ¿Cómo configurar una vista personalizada en las pestañas de navegación de ActionBar y hacer que las pestañas se adapten a su altura?
- Barra de acción de Android Tres puntos no se muestran
Me he encontrado con este tema una vez yo mismo. Prueba esto:
<?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:title="@string/new_crime" android:id="@+id/menu_item_new_crime" android:icon="@drawable/ic_action_new" android:showAsAction="always" app:showAsAction="always"/> </menu>
No sé por qué sería necesario tener ambos, pero eso me lo arregló por alguna razón.
Usted está usando Android Studio, tal y como se explica aquí por blackfizz : "el cheque de pelusa comprueba que ha importado la librería appcompat a través de gradle y piensa que debería usar ActionBarActivity debido a la importación de su biblioteca.
Tuve el problema exacto. Android Studio me estaba dando el error "debería usar app: showAsAction con la librería appcompat con xmlns: app =" schemas.android.com/apk/res-auto ".Si cambié mi XML como se sugirió, mis menús en la barra de acción desaparecieron En el desbordamiento.Si ignoré el error, obtuve el comportamiento esperado, pero el error todavía me molestaba.
Los verdaderos culpables resultaron ser las siguientes líneas en el archivo build.gradle:
dependencies { … compile 'com.android.support:appcompat-v7:22.1.1' compile 'com.android.support:support-v4:22.1.1' }
Que importó la librería appcompat, y causó todos los problemas. Puesto que sólo apunte Android 4.4 y más, pude eliminar estas dos líneas. ¡Problema resuelto!
He desperdiciado unas pocas horas para averiguarlo yo mismo antes de leer la respuesta de blackfizz, por lo que estoy publicando mi respuesta aquí con la esperanza de salvar a otros desarrolladores de unas horas.
Cuando encuentres una situación similar, comprueba primero tu build.gradle para ver si has importado inadvertidamente la librería appcompat.
Necesitas usar el estilo Theme.Holo y no AppCompat. Para ello, basta con cambiar el estilo de la aplicación en AndroidManifest.xml Si obtienes un error:
Debe utilizar app: showAsAction con la biblioteca appcompat con xmlns: app = "schemas.android.com/apk/res-auto
A continuación, debe cambiar la configuración del módulo:
1 – Haga clic derecho en su aplicación y seleccione Abrir configuración del módulo (O simplemente presione F4)
2-En las depencencias, agregue un módulo de soporte más reciente que V7 (por ejemplo com.android.support:support-v13:22.0.0)
En el menu.xml, no escriba:
app:showAsAction="ifRoom"
Pero escribe
android:showAsAction="ifRoom"
- Actualización de Textview en una actividad con servicio local
- Android: el relleno dejó un mapa de bits con color blanco