Icono de menú que no se muestra en la barra de acción
Estoy inflando menú personalizado en Fragmento.
Tengo solamente un artículo del menú. Pero el icono no estaba exhibiendo.
- ¿Cómo agregar un único elemento de menú a la barra de herramientas de android?
- Agregue un MenuItem al menú en la posición o el grupo específico programmatically
- Cómo crear una instancia de menú mediante programación? Es decir, inflar un menú fuera onCreateOptionsMenu
- Iniciar animación en carga de página, detener en página cargada
- Vista personalizada para elemento de menú
¿Puede alguien decir lo que está mal en mi código
Mi menu.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" > <item android:id="@+id/search" android:icon="@android:drawable/ic_search_category_default" app:showAsAction="always" android:title="Search"/></menu>
Y me puse en onCreateView ()
setHasOptionsMenu(true); getActivity().invalidateOptionsMenu();
E inflar el menú
@Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { // TODO Auto-generated method stub inflater = getActivity().getMenuInflater(); inflater.inflate(R.menu.menu, menu); }
Estoy adjuntando la captura de pantalla del resultado. Necesito el icono de búsqueda en lugar del icono de desbordamiento de menú.
- ActionLayout para los elementos de la vista de navegación se muestra en el lado derecho
- Establecer un elemento de menú tal como se ha comprobado desde el código
- Cómo cambiar el color del texto del elemento de menú en Android?
- Elemento de menú animado "salta" cuando se inicia la animación
- Android - Cómo cambiar dinámicamente el texto del elemento de menú fuera de onOptionsItemsSelected o onCreateOptionsMenu
- Configuración de la descripción del contenido del menú de opciones android Talkback
- Cómo configurar el ID para los elementos del menú emergente, que se encuentra como id de la vista?
- OnOptionsItemSelected () no se llama al hacer clic en el elemento de menú que tiene un conjunto actionLayout en él
Sé que estoy un poco tarde para la fiesta, pero espero poder ayudar a otra persona. Hoy me enfrentaba a este MISMO problema.
He arreglado usando android: showAsAction = "siempre" en lugar de app: showAsAction = "always"
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <item android:id="@+id/bluetooth_status_off" android:orderInCategory="0" android:icon="@drawable/bluetooth_red" android:title="@string/app_name" android:showAsAction="always" /> </menu>
en el showAsAction está subrayado con rojo (advertencia), pero funciona bien.
app:showAsAction="ifRoom"
agregar la siguiente app:showAsAction="ifRoom"
propiedad app:showAsAction="ifRoom"
Creo que deberías usar
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" > <item android:id="@+id/search" android:icon="@drawable/ic_search_category_default" app:showAsAction="always" android:title="Search"/></menu>
y
@Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.mymenu, menu); return true; }
hacer un menú con el código de abajo …
<menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/action_settings" android:orderInCategory="100" android:showAsAction="never" android:title="@string/action_settings"/> <item android:id="@+id/action_search" android:title="Search" android:icon="@android:drawable/ic_menu_search" android:showAsAction="always" android:actionViewClass="android.widget.SearchView" /> </menu>
y configurarlo como su menú.
Éste es el comportamiento predeterminado del menú Desbordamiento del ActionBar. Si desea mostrar los iconos en el menú de desbordamiento, anule el método onMenuOpened en su actividad con este código snippit:
@Override public boolean onMenuOpened(int featureId, Menu menu) { if(featureId == Window.FEATURE_ACTION_BAR && menu != null){ if(menu.getClass().getSimpleName().equals("MenuBuilder")){ try{ Method m = menu.getClass().getDeclaredMethod( "setOptionalIconsVisible", Boolean.TYPE); m.setAccessible(true); m.invoke(menu, true); } catch(NoSuchMethodException e){ Log.e("MyActivity", "onMenuOpened", e); } catch(Exception e){ throw new RuntimeException(e); } } } return super.onMenuOpened(featureId, menu); }
Si está ejecutando el código en Android 3.0 o superior, los iconos del menú no se muestran por diseño. Esta es una decisión de diseño de Google. Puedes leer más sobre esto en el blog de desarrolladores de Android.
Lo sentimos a finales, pero poner este código en su onCreate ()
toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar);
- Copia el código xml del menú.
- Eliminar el archivo de menú
- Ahora cree un nuevo archivo de menú en el directorio res-> menu
- Y nombre con nombre diferente
- Ahora corre
- ¿Cómo forzar programaticamente un reinicio completo de la aplicación? por ejemplo, matar, a continuación, iniciar
- Desactivación del cuadro de diálogo al tocar fuera