android android-actionbar android-4.0

android - ¿Cómo controlar la división ActionBar programáticamente?



android-actionbar android-4.0 (5)

Android ActionBar puede dividirse en una barra superior e inferior si el parámetro de la actividad " uiOptions " está configurado como " splitActionBarWhenNarrow ", tenga en cuenta que este parámetro solo es válido en ICS.

Honeycomb ha introducido un nuevo enfoque para los elementos de la lista de selección múltiple utilizando la barra de acción. Cuando un elemento está bajo, presione y mantenga presionado, la lista se convertirá en un modo de selección múltiple y la barra de acción se puede usar para realizar algunas acciones. La configuración de la barra de acción se hereda de la actividad de la lista, es decir, si la actividad tiene una barra de acción dividida, la selección múltiple también tendrá, y si la actividad tiene solo la barra superior, entonces la selección múltiple será compatible con eso.

La pregunta es, ¿es posible tener solo una barra de acción superior en la actividad y cuando la lista se convierta en modo de selección múltiple dividir programáticamente la barra de acción?

¡Gracias!


¿Puedes intentar configurar getWindow().setUiOptions(ActivityInfo.UIOPTION_SPLIT_ACTION_BAR_WHEN_NARROW) en la Activity que quieres que ActionBar el ActionBar justo antes de su onCreate() , luego getActionBar.hide() usando getActionBar.hide() y en la lista de acciones que estás refiriendo? para hacer que vuelva a getActionBar.show() mediante getActionBar.show() .

Intenté (aunque no con las bibliotecas de soporte) mostrar ActionBar en una Activity y dividir en otra usando lo anterior y pude ocultar y mostrar la división en los clics de los botones. Espero que esto ayude. Déjame saber en caso de que lo hiciera o incluso no. Feliz codificacion :)


El paquete AppCompat ahora ofrece el widget de la barra de herramientas que le permite colocar una barra de acción en cualquier lugar que desee en su diseño y modificarla como cualquier otra vista.

Por favor vea la documentación completa here y una guía here .


No lo creo No veo nada en la Activity que sirva como contraparte de establecedor para android:uiOptions .


No, no puede cambiar entre barras de acción divididas y no divididas sobre la marcha.

La contraparte del android:uiOptions para android:uiOptions está en la Window , no en la Activity . Window#setUiOptions es el método y el indicador que se usa es ActivityInfo#UIOPTION_SPLIT_ACTION_BAR_WHEN_NARROW .

Sin embargo esto no va a hacer lo que quieres. La barra de acción dividida cuando se debe restringir, ya que la ventana se configura por primera vez antes de que se inicialice la decoración de la ventana. En otras palabras, una vez que se muestra la ventana (o incluso una vez que ha llamado a setContentView ) es demasiado tarde para cambiarla.

Esta fue una decisión consciente del equipo de Android UX. Los modos de acción (incluidos los modos de selección) pretenden reflejar la configuración de la barra de acción en la actividad actual. Esto le da al usuario un lugar único para buscar acciones actualmente válidas dentro de la misma actividad.