studio programacion personalizar móviles desarrollo curso bar aplicaciones android android-layout android-actionbar

programacion - personalizar toolbar android studio



Elementos de acción de la barra de acción que no se muestran (4)

Esta pregunta ya tiene una respuesta aquí:

Tengo un código muy simple, pero un problema que no puedo resolver incluso después de una larga búsqueda en Google. Quiero tener algunos elementos de acción en mi barra de acción, pero cada vez que ejecuto la aplicación, todo lo que veo es una barra de acción con el logotipo de la aplicación y el título, pero sin elementos de acción .

Sería genial, si pudieras ayudarme, probablemente me esté perdiendo la cosa más obvia;)

Ese es el método en mi ActionBarActivity:

@Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu items for use in the action bar MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.main_activity_actions, menu); return super.onCreateOptionsMenu(menu); }

Y este es el archivo .xml relevante para ActionBar (llamado main_activity_actions.xml):

<menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/action_search" android:icon="@drawable/ic_action_search" android:title="@string/action_search" android:showAsAction="always" /> <item android:id="@+id/action_compose" android:icon="@drawable/ic_action_compose" android:title="@string/action_compose" android:showAsAction="always"/> </menu>


Aquí tienes, necesitas agregar el menú en tu xml así:

<menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/menu_settings" android:orderInCategory="0" android:showAsAction="always" android:icon="@drawable/menu"> <menu> <item android:id="@+id/action_search" android:icon="@drawable/ic_action_search" android:title="@string/action_search" android:showAsAction="always" /> <item android:id="@+id/action_compose" android:icon="@drawable/ic_action_compose" android:title="@string/action_compose" android:showAsAction="always"/> </menu> </item> </menu>


Esto se debe a que si usa la biblioteca AppBat ActionBar de soporte y ActionBarActivity, debe crear sus menús de una forma diferente a la forma estándar de crear menús XML en ActioBarSherlock o la ActionBar predeterminada.

Así que prueba este código:

<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <item android:id="@+id/action_search" android:icon="@drawable/ic_action_search" android:title="@string/action_search" app:showAsAction="always" /> <item android:id="@+id/action_compose" android:icon="@drawable/ic_action_compose" android:title="@string/action_compose" app:showAsAction="always"/> </menu>

e informe si esto funciona.

Nota: ¡compruebe el prefijo extra xmlns:app que debería usarse en su lugar!


Prueba esto:

@Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu items for use in the action bar MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.main_activity_actions, menu); return true; }


Puede estar seguro de que no está utilizando un estilo que hace que sus elementos de acción sean invisibles.

Por ejemplo, si estás utilizando "android: Theme.Holo.Light.DarkActionBar" obtienes una barra de acción negra para que no puedas ver tus elementos negros.

Cambia a "android: Theme.Holo.Light" y aparecerán.

Busque en el archivo (por ejemplo) res / values-v14 / styles.xml