tipos studio showasaction item inflar bar android android-actionbar android-menu

android - studio - ¿Qué es orderInCategory en el elemento del menú ActionBar y por qué se usa para..?



showasaction android (3)

android:orderInCategory Valor más alto, prioridad más baja.

Tengo una Actividad y un Fragmento, ambos tienen un menú de opciones y los números de los elementos son 1 y 3.

Si configuro android:orderInCategory=0 , el menú de actividades se encuentra sobre el menú de fragmentos, el mismo efecto antes de establecer el valor.

Pero si configuro android:orderInCategory=1 , el menú de actividades se encuentra debajo del menú de fragmentos, y eso es lo que quiero (también android:orderInCategory=5 también, aún con el mismo efecto).

Estoy trabajando en el elemento de menú de acción y su elemento de flujo superior es mi main_menu.xml

<?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:id="@+id/menu_search" android:icon="@drawable/search" android:title="@string/start_new_project" app:showAsAction="always" /> <item android:id="@+id/menu_dts_overflow" android:icon="@drawable/ic_action_overflow_round" android:orderInCategory="11111" android:title="Service" app:showAsAction="always"> <menu> <item android:id="@+id/menu_newProject" android:icon="@drawable/newproject" android:title="@string/start_new_project" app:showAsAction="never" /> <item android:id="@+id/menu_help" android:icon="@drawable/help" android:title="Service Tasks" app:showAsAction="never" /> <item android:id="@+id/menu_signOut" android:icon="@drawable/signout" android:title="@string/menusignout" app:showAsAction="never" /> </menu> </item>

Intenté construir un elemento de búsqueda y un elemento de desbordamiento que se puede ver en el código anterior. Soy nuevo en los elementos del menú de la barra de acción, así que traté de buscarlo en Google y pude hacerlo funcionar cuando lo necesito.

En esto tengo que saber una cosa más.

1. ¿Qué es orderInCategory con algunos números y para qué se usa?


android:orderInCategory es realmente útil de dos maneras .

1. Para los elementos del menú en ActionBar . Los elementos aparecerán de izquierda a derecha en la barra de acción según el orden ascendente.

2. Para los elementos del menú en el menú de overflow . Los elementos del menú de desbordamiento se mostrarán de arriba a abajo según el orden ascendente que haya especificado.


android:orderInCategory es un atributo entero que determina el orden en que aparecerán los elementos del menú dentro del menú cuando se muestre.

<menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/menu_item_first" android:orderInCategory="1" android:showAsAction="never" android:title="@string/string_one"/> <item android:id="@+id/menu_item_second" android:orderInCategory="2" android:showAsAction="never" android:title="@string/string_two"/> </menu>

  • Los elementos del menú en la ToolBar de ToolBar se organizan de left a right (o de start a end en modo RTL) en orden ascendente (es decir, 1,2,3 -> izquierda a derecha).

  • Los elementos del menú en el Overflow menu se organizan de top a bottom en orden ascendente (es decir, 1,2,3 -> arriba a abajo).