Je travaille sur un élément du menu action et son élément de débordement, c’est mon 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>
J'ai essayé de construire un élément de recherche et un élément de dépassement que vous pouvez voir dans le code ci-dessus. Je suis nouveau dans les éléments de menu de la barre d’action, j’ai donc essayé de le rechercher sur Google et de le faire fonctionner à ma guise.
En cela, je dois savoir une dernière chose.
1. Qu'est-ce que orderInCategory
avec quelques chiffres et à quoi sert-il ..?
Android:orderInCategory
est un attribut entier qui détermine l’ordre dans lequel les éléments de menu apparaîtront dans le menu lorsqu’il sera affiché.
<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>
Android:orderInCategory
est réellement utile dans deux façons.
1. Pour les éléments de menu dans ActionBar
. Les éléments apparaissent de gauche à droite dans ActionBar en fonction de l'ordre croissant.
2. Pour les éléments de menu dans le menu overflow
. Les éléments de menu de débordement seront affichés de haut en bas en fonction de l'ordre croissant que vous avez spécifié.
Android:orderInCategory
Valeur supérieure, priorité inférieure.
J'ai une activité et un fragment, toutes les deux ont un menu d'options et les numéros d'article sont 1 et 3.
Si je mets Android:orderInCategory=0
, le menu des activités se trouve au-dessus du menu des fragments, le même effet avant de définir la valeur.
Mais si je mets Android:orderInCategory=1
, le menu des activités se trouve en dessous du menu des fragments, et c’est ce que je veux (j’ai aussi testé Android:orderInCategory=5
testé aussi, toujours le même effet.)