Android design support navigation drawer selecting multiple items - android

I want to know if there is a way to tell the design support navigation drawer to only mark one item as selected, when I have sub-items which contain more items.
Code:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="single">
<item
android:id="#+id/nav_1"
android:icon="#drawable/ic_icon"
android:title="Item 1"
android:checked="true"/>
<item
android:id="#+id/nav_2"
android:icon="#drawable/ic_icon"
android:title="Item 2" />
</group>
<item android:title="Subtitle 1">
<menu>
<item
android:id="#+id/nav_2"
android:icon="#drawable/ic_icon"
android:title="Item 3" />
<item
android:id="#+id/nav_4"
android:icon="#drawable/ic_icon"
android:title="Item 4" />
<item
android:id="#+id/nav_5"
android:icon="#drawable/ic_icon"
android:title="Item 5" />
</menu>
</item>
</menu>
I have Item 1 selected by default and it is the first fragment that appears when launching the app. When I press on an item in a subtitle, Item 5 for example, Item 1 still has the darker background and is colored in the accent color, while Item 5 is only colored in the accent color without the dark background. How can I archive that only one items gets marked at one time?

the group needs to be around all items like this:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="single">
<item
android:id="#+id/nav_1"
android:icon="#drawable/ic_icon"
android:title="Item 1"
android:checked="true"/>
<item
android:id="#+id/nav_2"
android:icon="#drawable/ic_icon"
android:title="Item 2" />
<item android:title="Subtitle 1">
<menu>
<group android:checkableBehavior="single">
<item
android:id="#+id/nav_2"
android:icon="#drawable/ic_icon"
android:title="Item 3" />
<item
android:id="#+id/nav_4"
android:icon="#drawable/ic_icon"
android:title="Item 4" />
<item
android:id="#+id/nav_5"
android:icon="#drawable/ic_icon"
android:title="Item 5" />
</group>
</menu>
</item>
</group>
</menu>

Related

Navigation drawer menu item only clickable ubtitle

I'm trying to my menu but I have a problem, I would like to habe smt like that
that's my code
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:title="Subtitle 1">
<menu>
<group android:id="#+id/group1">
<item
android:title="Item 1 "/>
<item
android:title="Item 2"/>
</group>
</menu>
</item>
<item android:title="Subtitle 2">
<menu>
<group>
<item ></item>
</group>
</menu>
</item>
<item android:title="Subtitle 3">
<menu>
<group>
<item
android:title="Item 1"/>
<item
android:title="Item 2"/>
</group>
</menu>
</item>
</menu>
I don't know exactly how to handle it, when I run this code I got that, I shouldn't have the empty space and subtitle 2 has to be clickable
Someone can help ?
Thx

NavigationView menu item with heading issue

Inside my NavigationView menu I have these items. There are some items with heading which is having some issues I think because when I used android:checkableBehavior it's not affected or doesn't show that it's selected or being highlighted. The items highlighted are only the nav1, nav2, nav3 items on the menu for the Drawer Layout. What I wanted to achieve is when the user clicks on the items with some headings on it like the nav4, or nav5 item It should get highlighted when selected.
<group android:checkableBehavior="single">
<item android:id="#+id/nav_1" android:icon="#drawable/ic_1"
android:title="#string/nav1" />
<item android:id="#+id/nav_2" android:icon="#drawable/ic_2"
android:title="#string/nav2" />
<item android:id="#+id/nav_3" android:icon="#drawable/ic_3"
android:title="#string/nav3" />
<item android:title="#string/heading1">
<menu >
<item android:id="#+id/nav_4" android:icon="#drawable/ic_4"
android:title="#string/nav4"/>
<item android:id="#+id/nav_5" android:icon="#drawable/ic_5"
android:title="#string/nav5" />
</menu>
</item>
</group>
if you want nav4 and nav5 to get highlighted too change to this:
<group android:checkableBehavior="single">
<item android:id="#+id/nav_1" android:icon="#drawable/ic_1"
android:title="#string/nav1" />
<item android:id="#+id/nav_2" android:icon="#drawable/ic_2"
android:title="#string/nav2" />
<item android:id="#+id/nav_3" android:icon="#drawable/ic_3"
android:title="#string/nav3" />
<item android:title="#string/heading1">
<menu >
<group android:checkableBehavior="single">
<item android:id="#+id/nav_4" android:icon="#drawable/ic_4"
android:title="#string/nav4"/>
<item android:id="#+id/nav_5" android:icon="#drawable/ic_5"
android:title="#string/nav5" />
</group>
</menu>
</item>
</group>

NavigationView and ripple effect

I have designed a navigation view so as to understand how it works. I created all the fragments and I can navigate through the NavigationView. However,something strange happens. I will explain this with images:).
When I launch the app the home fragment appears. This is what I want.
Now I chose another menu from my navigation view.
Do you see what's happening? The ripple effect stays in Home menu. This is my menu xml code.
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="single">
<item
android:title="Home options">
<menu>
<group android:checkableBehavior="single">
<item
android:checked="true"
android:id="#+id/home"
android:title="Home"
android:icon="#drawable/ic_hardware_keyboard_alt"
></item>
<item
android:checked="false"
android:id="#+id/sub_one"
android:title="Sub item 1" />
<item
android:checked="false"
android:id="#+id/sub_two"
android:title="Sub item 2" />
</group>
</menu>
</item>
<item
android:title="Favourite options"
>
<menu>
<group android:checkableBehavior="single">
<item
android:checked="false"
android:id="#+id/favorite"
android:title="Favorite"
android:icon="#drawable/favorite"
></item>
<item
android:checked="false"
android:id="#+id/sub_three"
android:title="Sub item 3" />
<item
android:checked="false"
android:id="#+id/sub_four"
android:title="Sub item 4" />
</group>
</menu>
</item>
<item
android:checked="false"
android:id="#+id/settings"
android:title="Settings"
android:icon="#drawable/ic_action_settings_applications"
></item>
</group>
Any ideas how to fix my problem?
Thanks Theo.
In your this code .
<item
android:checked="true"
android:id="#+id/home"
android:title="Home"
android:icon="#drawable/ic_hardware_keyboard_alt"
change this
android:checked="true"
to this
android:checked="false"
You can set check true that's why Home menu is always display checked.

How to add section in NavigationView On material design

i need to have two beautifull section like this library in My NavigationView Drawer.xml
exactly like this:
http://i.stack.imgur.com/Sbhzu.jpg
i'm currently using this:
https://github.com/AkashBang/NavigationView
How we can do that?
solved, Here is the example:
<group android:checkableBehavior="single">
<item
android:id="#+id/menuItem1"
android:icon="#drawable/ic_dashboard"
android:title="MenuItem 1" />
<item
android:id="#+id/menuItem2"
android:icon="#drawable/ic_event"
android:title="MenuItem 2" />
<item
android:id="#+id/menuItem3"
android:icon="#drawable/ic_headset"
android:title="MenuItem 3" />
<item
android:id="#+id/menuItem4"
android:icon="#drawable/ic_forum"
android:title="MenuItem 4" />
</group>
<item android:title="Sub items" >
<menu>
<item
android:id="#+id/menuItem5"
android:icon="#drawable/ic_dashboard"
android:title="Sub item 5" />
<item
android:id="#+id/menuItem6"
android:icon="#drawable/ic_forum"
android:title="Sub item 6" />
</menu>
</item>

Divider in Navigation Drawer using a xml menu

I've been following the latest (?) tutorial of how to implement a Material Design Navigation Drawer side by side with this blogpost.
Instead of populating a list view it uses a menu resource (xml). Very neat and easy, but..
I can't figure out how to add dividers between menu items.
Image from Material Design spec:
menu.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="single">
<item
android:id="#+id/item_1"
android:checked="true"
android:icon="#android:drawable/ic_menu_info_details"
android:title="Item1"
/>
<item
android:id="#+id/item_2"
android:icon="#android:drawable/ic_menu_agenda"
android:title="Item2"
/>
<item
android:id="#+id/item_3"
android:icon="#android:drawable/ic_menu_mapmode"
android:title="Item3"
/>
<item
android:id="#+id/item_4"
android:icon="#android:drawable/ic_menu_help"
android:title="Item4"
/>
</group>
</menu>
I have tried dividing by groups, but it gives me no divider. When I added a submenu, I got a divider but also an unwanted header.
Like this:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="single">
<item
android:id="#+id/item_1"
android:checked="true"
android:title="Header1"
>
<menu>
<item
android:id="#+id/item_2"
android:icon="#android:drawable/ic_menu_agenda"
android:title="SubItem1"
/>
</menu>
</item>
<item
android:id="#+id/item_2"
android:icon="#android:drawable/ic_menu_agenda"
android:title="Item2"
/>
<item
android:id="#+id/item_3"
android:icon="#android:drawable/ic_menu_mapmode"
android:title="Item3"
/>
<item
android:id="#+id/item_4"
android:icon="#android:drawable/ic_menu_help"
android:title="Item4"
/>
</group>
</menu>
I want the divider, but not the header.
Thanks in advance, I appreciate the help!
To add a divider after each menu item provide unique id to each group item as shown below
<group
android:id="#+id/group_item_1"
android:checkableBehavior="single">
<item
android:id="#+id/nav_agreement"
android:icon="#mipmap/ic_launcher"
android:title="Agreement" />
</group>
<group
android:id="#+id/group_item_2"
android:checkableBehavior="single">
<item
android:id="#+id/nav_aboutus"
android:icon="#mipmap/ic_launcher"
android:title="About Us" />
</group>
<group
android:id="#+id/group_item_3"
android:checkableBehavior="single">
<item
android:id="#+id/nav_terms"
android:icon="#mipmap/ic_launcher"
android:title="Terms Condition " />
</group>
<group
android:id="#+id/group_item_4"
android:checkableBehavior="single">
<item
android:id="#+id/nav_chngpassword"
android:icon="#mipmap/ic_launcher"
android:title="Change Password" />
</group>
<group
android:id="#+id/group_item_5"
android:checkableBehavior="single">
<item
android:id="#+id/nav_signout"
android:icon="#mipmap/ic_launcher"
android:title="Sign Out" />
</group>

Categories

Resources