2015-12-01 12 views
6
hinzu

Mein Menüpunkt wird größer, so dass ich sie gruppieren und einen Trennstrich zwischen den Gruppen erstellen möchte. Was soll ich jetzt tun?So fügen Sie einen Zeilentrenner für den Menüpunkt 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

Diese Arbeit wird https://stackoverflow.com/questions/30625280/how-to-create-a-simple-divider-in-the-new-navigationview/7020 –

Antwort

10

Alles was Sie tun müssen, ist eine Gruppe mit einer eindeutigen ID zu definieren, ich habe die Implementierung überprüft, ob Gruppe unterschiedliche IDs hat, wird es einen Teiler erstellen.

Beispiel Menü Erstellen des Separators:

<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> 

hoffe, das hilft

UPDATE

für Menüpunkt sein können Sie diese

<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> 
verwenden können

und actionLayout Datei für mich

<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

Ich habe diesen Weg versucht, aber ich sehe keinen Zeilentrenner. Scheint, es funktioniert nicht mit dem Menüpunkt, funktioniert nur mit SchubladeNavigator – phongvan

+0

@mdtuyen überprüfen Sie das Update – droidev

+1

Sorry Herr @Vivid Vervet, ich überprüft mit Android 4.0, 5.0 die Lösung funktioniert nicht :( – phongvan

Verwandte Themen