changing icon of navigation drawer items - android

When I changing icon in navigation drawer items by using (drawable > image asset > 'Action bar and tab icon') or (copy + past ) in drawable folder, in app menu icon shows the 'Theme color' witch was selected form " image asset > 'Action bar and tab icon' > Theme ".
I tried to all the three theme but main icon can not be shown
Here the apps screenshot and activity_main_drawer.xml file and xml file screenshot
<?xml version="1.0" encoding="utf-8"?>
<group android:checkableBehavior="single">
<item android:id="#+id/nav_us"
android:icon="#drawable/eee"
android:title="US" />
<item android:id="#+id/nav_world" android:icon="#drawable/bbb"
android:title="World" />
<item android:id="#+id/nav_tech" android:icon="#drawable/f_g_h"
android:title="Tech" />
<item android:id="#+id/nav_sports" android:icon="#drawable/f_g_h"
android:title="Sports" />
<item android:id="#+id/nav_worl" android:icon="#android:drawable/ic_dialog_dialer"
android:title="World" />
<item android:id="#+id/nav_tec" android:icon="#android:drawable/ic_dialog_dialer"
android:title="Tech" />
<item android:id="#+id/nav_sport" android:icon="#android:drawable/ic_dialog_dialer"
android:title="Sports" />
</group>
<item android:title="Communicate">
<menu>
<item android:id="#+id/nav_share" android:icon="#android:drawable/btn_star"
android:title="About us" />
<item android:id="#+id/nav_send" android:icon="#android:drawable/ic_menu_send"
android:title="Contact us" />
</menu>
</item>

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="single">
<item
android:id="#+id/nav_camera"
android:icon="#drawable/ic_menu_camera"
android:title="Import" />
<item
android:id="#+id/nav_gallery"
android:icon="#drawable/ic_menu_gallery"
android:title="Gallery" />
<item
android:id="#+id/nav_slideshow"
android:icon="#drawable/ic_menu_slideshow"
android:title="Slideshow" />
<item
android:id="#+id/nav_manage"
android:icon="#drawable/ic_menu_manage"
android:title="Tools" />
</group>
<item android:title="Communicate">
<menu>
<item
android:id="#+id/nav_share"
android:icon="#drawable/ic_menu_share"
android:title="Share" />
<item
android:id="#+id/nav_send"
android:icon="#drawable/ic_menu_send"
android:title="Send" />
</menu>
</item>
Please have a look like this.

Related

Android Drawer Layout centered

I'm not finding how to create a icon over text centered in the menu of a DrawerLayout. Using standard Drawer layout file with menu items. Tried adding android:gravity but that does not seem to help. Thoughts?
<?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">
<item
android:layout_gravity="center_horizontal"
android:id="#+id/nav_backpack"
android:icon="#drawable/person"
android:title="Backpack" />
<item
android:id="#+id/nav_messages"
android:icon="#drawable/messages"
android:title="Messages" />
<item
android:id="#+id/nav_library"
android:icon="#drawable/book"
android:title="Library" />
<item
android:id="#+id/nav_calendar"
android:icon="#drawable/calendar"
android:title="Calendar" />
<item
android:id="#+id/nav_progress"
android:icon="#drawable/book"
android:title="Progress" />
<item
android:id="#+id/nav_account"
android:title="Account" />
<item
android:id="#+id/nav_help"
android:title="Help" />
<item
android:id="#+id/nav_logout"
android:title="Logout" />
</group>
<group android:checkableBehavior="none">
<item android:title="About">
<menu>
<item
android:id="#+id/nav_version"
android:icon="#drawable/ic_menu_share"
android:title="v1.1(03)" />
</menu>
</item>
</group>
</menu>

android left drawer list icon not showing

activity_main_drawer.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:myapp="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android">
<group>
<item
android:id="#+id/portal"
android:icon="#drawable/memu_icon_home_off"
android:title="#string/menu_home"
/>
</group> <!-- show -->
<item android:title="#string/menu_category"
android:icon="#drawable/memu_icon_category_on"
myapp:showAsAction="always"> <!-- not showing! -->
<menu>
<item
android:id="#+id/ct001"
android:title="#string/title_ct001" />
<item
android:id="#+id/ct002"
android:title="#string/title_ct002" />
<item
android:id="#+id/ct003"
android:title="#string/title_ct003" />
<item
android:id="#+id/ct004"
android:title="#string/title_ct004" />
<item
android:id="#+id/ct005"
android:title="#string/title_ct005" />
<item
android:id="#+id/ct006"
android:title="#string/title_ct006" />
<item
android:id="#+id/ct007"
android:title="#string/title_ct007" />
</menu>
</item>
<group>
<item
android:id="#+id/appinfo"
android:icon="#drawable/memu_icon_set_off"
android:title="#string/appinfo"
/>
</group> <!-- show -->
</menu>
I want to print left listlayout like it
(icon1) home
(icon2) category
category value.....
category value.....
category value.....
category value.....
category value.....
(icon3) app inf
'menu_icon_category_on'(icon2)
this item's icon not showing (groups icon can see)
How can I show it?
try this once
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
>
<item
android:id="#+id/a"
android:icon="#drawable/a"
android:title="#string/a"
app:showAsAction="always"/>
<item
android:id="#+id/b"
android:icon="#drawable/b"
android:title="#string/b"
app:showAsAction="always"/>
<item
android:id="#+id/c"
android:title="#string/c"
android:icon="#drawable/c"
app:showAsAction="always"/>
<!-- More -->
<item
android:id="#+id/more"
android:icon="#drawable/ic_menu_overflow"
app:showAsAction="always"
android:title="More">
<menu>
<item android:id="#+id/d"
android:icon="#drawable/s"
android:title="#string/d"
app:showAsAction="never" />
<item android:id="#+id/e"
android:title="#string/e"
app:showAsAction="never" />
<item android:id="#+id/f"
android:icon="#drawable/f"
android:title="#string/f"
app:showAsAction="never" />
</menu>
</item>
</menu>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:myapp="http://schemas.android.com/apk/res-auto">
<group>
<item
android:id="#+id/portal"
android:icon="#drawable/home"
android:title="Home" />
</group>
<group android:id="#+id/grpidCategory">
<item
android:icon="#drawable/ic_menu_gallery"
android:title="menu_category"
myapp:showAsAction="always" />
</group>
<group android:id="#+id/grpidCatItems">
<item
android:id="#+id/ct001"
android:title="title_ct001" />
<item
android:id="#+id/ct002"
android:title="title_ct002" />
<item
android:id="#+id/ct003"
android:title="title_ct003" />
<item
android:id="#+id/ct004"
android:title="title_ct004" />
<item
android:id="#+id/ct005"
android:title="title_ct005" />
<item
android:id="#+id/ct006"
android:title="title_ct006" />
<item
android:id="#+id/ct007"
android:title="title_ct007" />
</group>
<group android:id="#+id/grpid2">
<item
android:id="#+id/appinfo"
android:icon="#drawable/feedback"
android:title="appinfo" />
</group>
</menu>
You can add images in the subitems of Category if you want.

How can I Modify default images of Navigation Drawer.?

I want to change default Images of Navigation Drawer in Android.When I'm changing it's not working any one help me please.Thanks stack over flow.how can I do this help me please.
<group android:checkableBehavior="single">
<item
android:id="#+id/nav_camera"
android:icon="#drawable/ic_menu_camera"
android:title="Import" />
<item
android:id="#+id/nav_gallery"
android:icon="#drawable/ic_menu_gallery"
android:title="Gallery" />
<item
android:id="#+id/nav_slideshow"
android:icon="#drawable/ic_menu_slideshow"
android:title="Slideshow" />
<item
android:id="#+id/nav_manage"
android:icon="#drawable/ic_menu_manage"
android:title="Tools" />
</group>
<item android:title="Communicate">
<menu>
<item
android:id="#+id/nav_share"
android:icon="#drawable/ic_menu_share"
android:title="Share" />
<item
android:id="#+id/nav_send"
android:icon="#drawable/ic_menu_send"
android:title="Send" />
</menu>
</item>
I hope you need some pre defined vector drawables as one of your comments was pointing to it.
Try
Right Click drawable folder
New -> Vector Asset
Enable Material Icon RadioButton (enabled by default)
Click Choose button
Select one image. change Resource name if required & click Next -> Finish.
Now a new vector drawable will be created in drawable folder & you can refer it using #drawable.
Here is my .xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="single">
<item
android:id="#+id/nav_home"
android:icon="#drawable/ic_menu_home"
android:title="section1"
android:checked="true"/>
<item
android:id="#+id/nav_add_event"
android:icon="#drawable/ic_menu_addevent"
android:title="section2" />
<item
android:id="#+id/nav_managenews"
android:icon="#drawable/ic_menu_manage_news"
android:title="section3" />
<item
android:id="#+id/nav_leaderboard"
android:icon="#drawable/ic_menu_leadre_board"
android:title="section3"/>
<item
android:id="#+id/nav_mypoints"
android:icon="#drawable/ic_menu_mypoint"
android:title="section4" />
<item
android:id="#+id/nav_myprofile"
android:icon="#drawable/ic_menu_my_profile"
android:title="section5" />
<item
android:id="#+id/nav_change_password"
android:icon="#drawable/ic_change_password"
android:title="section6"/>
</group>
</menu>

Main category icons in navigation drawers not visible

below is my xml code where vector image works on items but does not work on its parent. I have given comment for those two parents.I also wish to give colored icons there later and textcolor white.
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="single">
<item
android:id="#+id/nav_camera"
android:icon="#drawable/ic_menu_camera"
android:title="Import" />
<item
android:id="#+id/nav_gallery"
android:icon="#drawable/ic_menu_gallery"
android:title="Gallery" />
<item
android:id="#+id/nav_slideshow"
android:icon="#drawable/ic_menu_slideshow"
android:title="Slideshow" />
</group>
<item android:title="Communicate"
android:icon="#drawable/ic_menu_share">
<!-- above image not visible but below visible-->
<menu>
<item
android:id="#+id/nav_share"
android:icon="#drawable/ic_menu_share"
android:title="Share" />
<item
android:id="#+id/nav_send"
android:icon="#drawable/ic_menu_send"
android:title="Send" />
</menu>
</item>
<item android:title="Setting"
android:icon="#drawable/ic_menu_share">
<!-- above image not visible but below visible -->
<menu>
<item
android:id="#+id/nav_share1"
android:icon="#drawable/ic_menu_share"
android:title="Share" />
<item
android:id="#+id/nav_send1"
android:icon="#drawable/ic_menu_send"
android:title="Send" />
</menu>
</item>
Here "Communicate " and "Setting" not showing icons
Put them in menu if you want to show icons also:
<group android:checkableBehavior="single">
<item
android:id="#+id/nav_camera"
android:icon="#drawable/ic_menu_camera"
android:title="Import" />
<item
android:id="#+id/nav_gallery"
android:icon="#drawable/ic_menu_gallery"
android:title="Gallery" />
<item
android:id="#+id/nav_slideshow"
android:icon="#drawable/ic_menu_slideshow"
android:title="Slideshow" />
</group>
<menu>
<item android:title="Communicate"
android:icon="#drawable/ic_menu_share">
<item
android:id="#+id/nav_share"
android:icon="#drawable/ic_menu_share"
android:title="Share" />
<item
android:id="#+id/nav_send"
android:icon="#drawable/ic_menu_send"
android:title="Send" />
</menu>
</item>
<menu>
<item android:title="Setting"
android:icon="#drawable/ic_menu_share">
<item
android:id="#+id/nav_share1"
android:icon="#drawable/ic_menu_share"
android:title="Share" />
<item
android:id="#+id/nav_send1"
android:icon="#drawable/ic_menu_send"
android:title="Send" />
</menu>
</item>
You can change the textcolor of all menu item using: app:itemTextColor="#android:color/white" attribute in xml code of navigation view.
Edit
You will get the colored icons if you use either
app:itemIconTint="null" in xml or
navigationView.setItemIconTintList(null); in your java code.

Android NavigationView menu group divider [duplicate]

This question already has answers here:
How to create a simple divider in the new NavigationView?
(14 answers)
Closed 6 years ago.
Android support design library provide NavigationView:
<android.support.design.widget.NavigationView
...
app:menu="#menu/navigation_drawer_items" />
menu/navigation_drawer_items:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="single">
<item .../>
...
</group>
<group android:checkableBehavior="single">
<item .../>
...
</group>
</menu>
How to add divider, separator or space between groups (like on picture)?
Just give a unique id to each group. It will create a separator automatically.
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:id="#+id/group_feature"
android:checkableBehavior="single">
<item android:id="#+id/navdrawer_item_map"
android:checked="true"
android:icon="#drawable/ic_drawer_map"
android:title="#string/navdrawer_item_map"/>
</group>
<group android:id="#+id/group_settings"
android:checkableBehavior="single">
<item android:id="#+id/navdrawer_item_settings"
android:icon="#drawable/ic_drawer_settings"
android:title="#string/navdrawer_item_settings"/>
</group>
</menu>
you do something like this.
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="single">
<item
android:id="#+id/nav_home"
android:icon="#drawable/ic_dashboard"
android:title="Home" />
<item
android:id="#+id/nav_messages"
android:icon="#drawable/ic_event"
android:title="Messages" />
<item
android:id="#+id/nav_friends"
android:icon="#drawable/ic_headset"
android:title="Friends" />
<item
android:id="#+id/nav_discussion"
android:icon="#drawable/ic_forum"
android:title="Discussion" />
</group>
<item android:title="Sub items">
<menu>
<item
android:icon="#drawable/ic_dashboard"
android:title="Sub item 1" />
<item
android:icon="#drawable/ic_forum"
android:title="Sub item 2" />
</menu>
</item>
</menu>
this code is taken from the Design Library example app made by Chris Barnes https://github.com/chrisbanes/cheesesquare
I'm using it this way:
<group
android:id="#+id/group1"
android:checkableBehavior="single">
<item
android:id="#+id/menu1"
android:icon="#drawable/somedrawable"
android:title="Lorem ipsum" />
</group>
<group
android:id="#+id/group2"
android:checkableBehavior="single">
<item
android:id="#+id/menu2"
android:icon="#drawable/somedrawable"
android:title="Dolor it amet" />
</group>
IDs are important (+id/group1 and +id/group2). Without ids you won't see divider. It is working in my app.
Divider in NavigationMenuList achieved using grouping the Menu items but make sure you are giving group id #+id that is necessary.
Below is working code for you
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group
android:id="#+id/gp_one"
android:checkableBehavior="single">
<item
android:id="#+id/nav_home"
android:icon="#drawable/ic_avatar"
android:title="Home" />
</group>
<group
android:id="#+id/gp_two"
android:checkableBehavior="single">
<item
android:id="#+id/nav_account"
android:icon="#drawable/ic_avatar"
android:title="My Account" />
<item
android:id="#+id/nav_orders"
android:icon="#drawable/ic_avatar"
android:title="My Orders" />
<item
android:id="#+id/nav_wishlist"
android:icon="#drawable/ic_avatar"
android:title="My Wishlist" />
</group>
<group
android:id="#+id/gp_three"
android:checkableBehavior="single">
<item
android:id="#+id/nav_rateus"
android:icon="#drawable/ic_avatar"
android:title="Rate Us" />
<item
android:id="#+id/nav_share"
android:icon="#drawable/ic_avatar"
android:title="Share" />
<item
android:id="#+id/nav_logout"
android:icon="#drawable/ic_avatar"
android:title="Logout" />
</group>
You can add your text between <item android:title="title_name"> and </item>
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<group android:checkableBehavior="single">
<item
android:id="#+id/nav_display_image"
android:title="Load Image"
android:icon="#drawable/ic_menu_gallery"
app:showAsAction="always"
app:actionLayout="#layout/switch_nav_drawer"/>
<item
android:id="#+id/nav_camera"
android:icon="#drawable/ic_menu_camera"
android:title="Saved News" />
<item
android:id="#+id/nav_gallery"
android:icon="#drawable/ic_menu_gallery"
android:title="Gallery" />
<item
android:id="#+id/nav_slideshow"
android:icon="#drawable/ic_menu_slideshow"
android:title="Slideshow" />
</group>
<item android:title="Settings">
<menu>
<item
android:id="#+id/nav_manage"
android:icon="#drawable/ic_menu_manage"
android:title="Tools" />
</menu>
</item>
<item
android:id="#+id/about_us"
android:icon="#drawable/ic_info_black_24dp"
android:title="About Us"></item>
</menu>

Categories

Resources