Pregunta

Tengo un problema donde si el ActionItem tiene un icono y un texto y el ActionBar está dividido, solo mostrará el ícono incluso si el showAsAction="always|withText".

¿Hay alguna forma de forzar el texto a aparecer?

¿Fue útil?

Solución

withText es una pista del sistema. En dispositivos o configuraciones con restricciones de ancho, el sistema puede optar por ignorarlo.

Otros consejos

Tuve el mismo problema recientemente y, como ya respondió Adamp, no hay forma de obligar al texto a aparecer con la opción "Wittext".

En realidad, esto se puede hacer con una vista personalizada en la barra de Action como IE en la pantalla de evento Editar/Creación del calendario de Google (Cancelar y guardar el botón en la barra de acción, ambos con texto).

Consulte la fuente de los calendarios de Google sobre cómo se hace

https://android.googlesource.com/platform/packages/apps/calendar

Hay un diseño para la vista personalizada de ActionBar en

res/diseño/edit_event_custom_actionbar.xml

por favor también consulte los estilos relacionados

Esto se aplica a la barra de acción en la clase EditEventFragment, Method OnCreateView

if (mUseCustomActionBar) {
     View actionBarButtons = inflater.inflate(R.layout.edit_event_custom_actionbar,
             new LinearLayout(mContext), false);
     View cancelActionView = actionBarButtons.findViewById(R.id.action_cancel);
     cancelActionView.setOnClickListener(mActionBarListener);
     View doneActionView = actionBarButtons.findViewById(R.id.action_done);
     doneActionView.setOnClickListener(mActionBarListener);

     mContext.getActionBar().setCustomView(actionBarButtons);
 }

Los manejadores de eventos también se asignan allí.

La opción de pantalla ActionBar se establece en la clase EditeVentActivity, Método OnCreate:

getActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM,                      
         ActionBar.DISPLAY_HOME_AS_UP | ActionBar.DISPLAY_SHOW_HOME|
         ActionBar.DISPLAY_SHOW_TITLE | ActionBar.DISPLAY_SHOW_CUSTOM);

Esto es lo que descubrí hasta ahora. Hay una configuración adicional para otras opciones de pantalla (tabletas) utilizando la configuración de menú estándar para ActionBar, pero utilizando un diseño similar, estilo y esos dos fragmentos en mi propio código, produjo el resultado esperado (ActionBar Elemento con texto).

Espero que esto ayude

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top