Removing the space where the title should be for menu Item
Clash Royale CLAN TAG#URR8PPP
Removing the space where the title should be for menu Item
If I set the android:title=''
option in my activity_main_drawer.xml
:
android:title=''
activity_main_drawer.xml
I get the title displayed. However I've only got one menu option in there, I dont need a title. So if I remove that line:
I end up with a blank space. How can I get rid of that unnecessary space?
My XML for activity_main_drawer.xml
is:
activity_main_drawer.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:showIn="navigation_view">
<item
android:id="@+id/myfolders"
android:orderInCategory="1"
android:title="My Folders"/>
<item
android:id="@+id/systemoptions"
android:orderInCategory="2"
android:title="Preferences">
<menu>
<item
android:id="@+id/system_about"
android:icon="@drawable/ic_info"
android:title="About" />
</menu>
</item>
</menu>
The code I use to add items to the menu is a function called setupMenu:
NavigationView navView = findViewById(R.id.nav_view);
Menu menu = navView.getMenu();
int x = 0;
while(x < folders.size())
menu.add(R.id.myfolders,Menu.NONE,Menu.NONE,folders.get(x++));
navView.invalidate();
2 Answers
2
Menu-Item-Menu-Item may not be the appropriate structure here. If you want the horizontal line to appear above "About" so that it appears as a separate section, use the below code structure:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:showIn="navigation_view">
....
....
<group android:checkableBehavior="single"
android:id="@+id/about_menu">
<item android:id="@+id/system_about"
android:title="About"
android:icon="@drawable/ic_info" />
</group>
</menu>
Menu-Group-Item is used here.
Do I change both @+id/myfolders and @+id/systemoptions to groups? Because If I only change systemoptions, I get the 'My Folders' title above 'About'. If I change them both to groups, I get the myfolders list (which is dynamically added) and not the systemoptions menu anymore.
– Chud37
Aug 6 at 9:31
See this example: stackoverflow.com/a/34891149/6388699
– Jeet Karmakar
Aug 6 at 9:57
You could use the group tag instead of nesting your items.
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:showIn="navigation_view">
<item
android:id="@+id/myfolders"
android:orderInCategory="1"
android:title="My Folders" />
<group
android:id="@+id/systemoptions"
android:checkableBehavior="single"
android:orderInCategory="2">
<item
android:id="@+id/system_about"
android:icon="@drawable/ic_info"
android:title="About" />
</group>
</menu>
For some reason I get the title at the bottom after I've added menu items to
myfolders
dynamically.– Chud37
Aug 6 at 9:38
myfolders
can you add your code where you dynamically add add your items?
– hopeman
Aug 6 at 9:40
updated my question with the code.
– Chud37
Aug 6 at 9:45
by removing remove
android:orderInCategory="1"
from your item it should put the folders at the top and the dynamically added items below– hopeman
Aug 6 at 10:15
android:orderInCategory="1"
By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.
have you tried android:title="@null"? Can't test it at the moment, but maybe a null is interpreted differently?
– Grisgram
Aug 6 at 9:29