2015-12-01 20 views
6

La mia voce di menu diventa più grande in modo tale che voglio raggrupparli e creare un divisore di linea per separare ciascun gruppo. Cosa dovrei fare ora?Come aggiungere un divisore di linea per la voce di menu Android

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:app="http://schemas.android.com/apk/res-auto"> 
<!--group1--> 
      <item 
       android:id="@+id/action_addtag" 
       android:title="@string/add_hashtag_string" 
       app:showAsAction="never" /> 
      <item 
       android:id="@+id/action_block_list" 
       android:title="Block" 
       app:showAsAction="never" /> 
      <item 
       android:id="@+id/action_report_list" 
       android:title="Report" 
       app:showAsAction="never" /> 
<!--group2--> 
      <item 
       android:id="@+id/terms" 
       android:title="Terms" 
       app:showAsAction="never" /> 
      <item 
       android:id="@+id/feedback" 
       android:title="FeedBack" 
       app:showAsAction="never" /> 
<!--group3--> 
      <item 
       android:id="@+id/action_setting" 
       android:title="Setting" 
       app:showAsAction="never" /> 
    </menu> 
+0

questo lavoro per me https://stackoverflow.com/questions/30625280/how-to-create-a-simple-divider-in-the-new-navigationview/7020 –

risposta

10

Tutto quello che dovete fare è definire un gruppo con un unico ID , ho controllato l'attuazione se il gruppo ha diverse id creerà un divisore.

menu di esempio, la creazione del separatore:

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" 
tools:context=".MainActivity"> 

<group android:id="@+id/grp1"> 
    <item 
     android:id="@+id/navigation_item_1" 
     android:checked="true" 
     android:icon="@drawable/ic_home" 
     android:title="@string/navigation_item_1" /> 
</group> 

<group android:id="@+id/grp2"> 
    <item 
     android:id="@+id/navigation_item_2" 
     android:icon="@drawable/ic_home" 
     android:title="@string/navigation_item_2" /> 
</group> 

speranza che questo aiuta

UPDATE

per la voce di menu può essere è possibile utilizzare questo

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools"> 
    <item 
     android:id="@+id/action_cart" 
     android:title="cart" 
     android:actionLayout="@layout/cart_update_count" 
     android:icon="@drawable/shape_notification" 
     app:showAsAction="always"/> 
</menu> 

e il file actionLayout sarà

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 

    <View 
     android:id="@+id/divider" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="@drawable/divider"/> 

    <TextView 
     android:id="@android:id/text" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="?android:attr/selectableItemBackground" 
     android:gravity="center_vertical"   
     android:textAppearance="?attr/textAppearanceListItemSmall"/> 

</LinearLayout> 
+2

Ho provato in questo modo ma non vedo il divisore. Sembra che non funzioni con la voce di menu, funziona solo con drawerNavigator – phongvan

+0

@mdtuyen controlla l'aggiornamento – droidev

+1

Mi dispiace mr @Vivid Vervet, ho controllato con Android 4.0, 5.0 la soluzione non funziona :( – phongvan

Problemi correlati