Add child to MenuItem inside group in NavigationView

I already checked a few questions, but none of them answered what I'm looking for.

Basically I am trying to add a child to the parent of the element or simulate an options tree in the sidebar, something like a Google Play application:

enter image description here

I tried this as a test in my XML file:

<group android:checkableBehavior="single">
        <item
            android:orderInCategory="0"
            android:id="@+id/nav_back"
            android:icon="@drawable/ic_arrow_back_black_24dp"
            android:title="Regresar a la pagina principal"
            />
</group>

<group android:checkableBehavior="single"
    android:id="@+id/groupTypes">
    <item
        android:orderInCategory="1"
        android:id="@+id/nav_negocios"
        android:icon="@drawable/ic_local_convenience_store_black_48dp"
        android:title="@string/negocios" />
    <item
        android:orderInCategory="1"
        android:id="@+id/nav_hoteles"
        android:icon="@drawable/ic_local_hotel_black_48dp"
        android:title="@string/hoteles" />
    <item
        android:orderInCategory="1"
        android:id="@+id/nav_bares"
        android:icon="@drawable/ic_local_bar_black_48dp"
        android:title="@string/bares">

        <menu>
            <item
                android:orderInCategory="1"
                android:id="@+id/nav_barType1"
                android:icon="@drawable/ic_local_bar_black_48dp"
                android:title="@string/restaurant" />
        </menu>

        </item>

    <item
        android:orderInCategory="1"
        android:id="@+id/nav_restaurant"
        android:icon="@drawable/ic_restaurant_black_48dp"
        android:title="@string/restaurant" />
    <item
        android:orderInCategory="1"
        android:id="@+id/nav_destacado"
        android:icon="@drawable/ic_stars_black_48dp"
        android:title="@string/destacado" />
</group>

<group android:title="@string/grupo2">
    <menu>
        <item
            android:id="@+id/nav_taxi"
            android:orderInCategory="2"
            android:icon="@drawable/ic_local_taxi_black_48dp"
            android:title="@string/mobility" />

    </menu>
</group>

And here is what I got:

enter image description here

The Bares item has changed to a category, and the item inside simply adds as the source sequence to the group.

I also tried using the android:menuCategory="container"and options android:menuCategory="secondary", but the result is the same.

<item
        android:orderInCategory="1"
        android:id="@+id/nav_bares"
        android:menuCategory="container"
        android:icon="@drawable/ic_local_bar_black_48dp"
        android:title="@string/bares">

        <menu>
            <item
                android:orderInCategory="1"
                android:id="@+id/nav_barType1"
                android:menuCategory="secondary"
                android:icon="@drawable/ic_local_bar_black_48dp"
                android:title="@string/restaurant" />
        </menu>

</item>

Any suggestions?

+4
source share
4 answers

API . Play Store apk ( 7.7.17.O) androidtool.

main.xml

<com.google.android.finsky.layout.play.FinskyDrawerLayout>
    <com.google.android.finsky.layout.InsetsFrameLayout>
    </com.google.android.finsky.layout.InsetsFrameLayout>
    <include layout="@layout/play_drawer_container" />
</com.google.android.finsky.layout.play.FinskyDrawerLayout>

play_drawer_container.xml

<LinearLayout>
    <ListView android:id="@id/play_drawer_list" style="@style/PlayDrawerList" />
    <TextView android:id="@id/play_drawer_docked_action" android:visibility="gone" style="@style/PlayDrawerDockedAction" />
</LinearLayout>

, app:menu. ListView.

, " ":

enter image description here

enter image description here

menu , .

, : , .

:

  • RecyclerView
  • ListView
  • ScrollView

, , ScrollView. RecyclerView, ListView, xml.

+1

, . :

 <group android:checkableBehavior="single">
        <item
            android:orderInCategory="0"
            android:id="@+id/nav_back"
            android:icon="@drawable/ic_arrow_back_black_24dp"
            android:title="Regresar a la pagina principal"
            />
</group>

<group android:checkableBehavior="single"
    android:id="@+id/groupTypes">
    <menu>
        <item
            android:orderInCategory="1"
            android:id="@+id/nav_negocios"
            android:icon="@drawable/ic_local_convenience_store_black_48dp"
            android:title="@string/negocios" />
        <item
            android:orderInCategory="1"
            android:id="@+id/nav_hoteles"
            android:icon="@drawable/ic_local_hotel_black_48dp"
            android:title="@string/hoteles" />
        <item
            android:orderInCategory="1"
            android:id="@+id/nav_bares"
            android:icon="@drawable/ic_local_bar_black_48dp"
            android:title="@string/bares">
              <menu>
                  <item
                      android:orderInCategory="1"
                      android:id="@+id/nav_barType1"
                      android:icon="@drawable/ic_local_bar_black_48dp"
                      android:title="@string/restaurant" />
              </menu>
        </item>
         <item
                android:orderInCategory="1"
                android:id="@+id/nav_restaurant"
                android:icon="@drawable/ic_restaurant_black_48dp"
                android:title="@string/restaurant" />
         <item
                android:orderInCategory="1"
                android:id="@+id/nav_destacado"
                android:icon="@drawable/ic_stars_black_48dp"
                android:title="@string/destacado" />
   </menu>
    </group>

    <group android:title="@string/grupo2">
        <menu>
            <item
                android:id="@+id/nav_taxi"
                android:orderInCategory="2"
                android:icon="@drawable/ic_local_taxi_black_48dp"
                android:title="@string/mobility" />

        </menu>
    </group>
0

, , , .

0

. SubItem , , . :

 <item
        android:id="@+id/nav_category_electronics"
        android:icon="@drawable/ic_email_black_24dp"
        android:title="Electronics">

        <menu>
            <item
                android:id="@+id/nav_subcategory_laptops"
                android:icon="@drawable/laptop"
                android:title="Laptops" />

            <item
                android:id="@+id/nav_subcategory_tablet"
                android:icon="@drawable/tablet3"
                android:title="Tablets" />

            <item
                android:id="@+id/nav_category_phones"
                android:icon="@drawable/smartphone"
                android:title="Mobile Phones" />

            <item
                android:id="@+id/nav_subcategory_gadgets"
                android:icon="@drawable/ic_developer_mode_black_18dp"
                android:title="Gadgets" />
        </menu>
    </item>
0

Source: https://habr.com/ru/post/1674692/


All Articles