Android Drawer Layout centered - android

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>

Related

place the text next to the image , navigation view

I have a problem I want to move the text next to the picture this is a picture of the problem
https://imgur.com/a/E2mKn
I want to get this
https://imgur.com/a/7wgkn
My menu
<?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"
android:layoutDirection="ltr">
<group>
<item
android:id="#+id/menu_login"
android:title="Login"
android:icon="#drawable/icon_login"
/>
<item
android:id="#+id/menu_myfile"
android:title=""
android:icon="#drawable/icon_login"
android:visible="false"
/>
<item
android:id="#+id/menu_favorites"
android:title="Favorites"
android:icon="#drawable/icon_favorites"/>
<item
android:id="#+id/menu_rate"
android:title="Rate us"
android:icon="#drawable/icon_rate"/>
<item
android:id="#+id/menu_logout"
android:title="Logout"
android:icon="#drawable/icon_logout"
android:visible="false"
/>
</group>
<group
android:id="#+id/group_two">
<item android:title="Subscribe to us">
<menu>
<item
android:id="#+id/menu_facebook"
android:title="Facebook"
android:icon="#drawable/icon_facebook"/>
<item
android:id="#+id/menu_telegram"
android:title="Telegram"
android:icon="#drawable/icon_telegram"/>
<item
android:id="#+id/menu_instagram"
android:title="Instagram"
android:icon="#drawable/icon_instagram"/>
<item
android:id="#+id/menu_twitter"
android:title="Twitter"
android:icon="#drawable/icon_twitter"/>
</menu>
</item>
</group>
</menu>
I try to use this but it's not working
android:layoutDirection="ltr"
The problem is only on some old devices, I wish to get help thanks a lot.
You have to try like this
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="#+id/cc_drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
.
.
.
.
.
<android.support.design.widget.NavigationView
android:id="#+id/cc_nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="#layout/am_nav_header_main_new"
app:menu="#menu/am_main_navigation_items" />
</android.support.v4.widget.DrawerLayout>
am_main_navigation_items.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/cc_nav_home"
android:icon="#drawable/ic_dashboard_primary"
android:title="#string/nav_dashboard" />
<item
android:id="#+id/am_nav_auditList"
android:icon="#drawable/ic_audits_primary"
android:title="#string/nav_auditList" />
<item
android:id="#+id/nav_about"
android:icon="#drawable/ic_about_primary"
android:title="#string/cc_nav_about" />
<item
android:id="#+id/nav_app_info"
android:icon="#drawable/ic_info_outline_primary"
android:title="#string/cc_nav_app_info" />
</group>
<group
android:id="#+id/group_two">
<item android:title="Subscribe to us">
<menu>
<item
android:id="#+id/menu_facebook"
android:title="Facebook"
android:icon="#drawable/icon_facebook"/>
<item
android:id="#+id/menu_telegram"
android:title="Telegram"
android:icon="#drawable/icon_telegram"/>
<item
android:id="#+id/menu_instagram"
android:title="Instagram"
android:icon="#drawable/icon_instagram"/>
<item
android:id="#+id/menu_twitter"
android:title="Twitter"
android:icon="#drawable/icon_twitter"/>
</menu>
</item>
</group>
</menu>
This will help, layoutDirection was introduced in API 17, all devices below should call this line:
ViewCompat.setLayoutDirection( findViewById(R.id.my_view) , ViewCompat.LAYOUT_DIRECTION_LTR );
oh and make sure that for the above you will use android.support.v4.view.ViewCompat import
or you can just add this piece to the menu items:
android:layout_gravity="end"
Try placing the entire menu inside a FrameLayout. Then set the layout_width of the frame layout to wrap_content.
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="match_parent">
<menu>
<group>
<item
android:id="#+id/menu_login"
android:icon="#drawable/icon_login"
android:title="Login" />
<item
android:id="#+id/menu_myfile"
android:icon="#drawable/icon_login"
android:title=""
android:visible="false" />
<item
android:id="#+id/menu_favorites"
android:icon="#drawable/icon_favorites"
android:title="Favorites" />
<item
android:id="#+id/menu_rate"
android:icon="#drawable/icon_rate"
android:title="Rate us" />
<item
android:id="#+id/menu_logout"
android:icon="#drawable/icon_logout"
android:title="Logout"
android:visible="false" />
</group>
<group android:id="#+id/group_two">
<item android:title="Subscribe to us">
<menu>
<item
android:id="#+id/menu_facebook"
android:icon="#drawable/icon_facebook"
android:title="Facebook" />
<item
android:id="#+id/menu_telegram"
android:icon="#drawable/icon_telegram"
android:title="Telegram" />
<item
android:id="#+id/menu_instagram"
android:icon="#drawable/icon_instagram"
android:title="Instagram" />
<item
android:id="#+id/menu_twitter"
android:icon="#drawable/icon_twitter"
android:title="Twitter" />
</menu>
</item>
</group>
</menu>
</FrameLayout>

how to customize nevegation_menu in android using menu item.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">
<group android:checkableBehavior="single">
<item
android:id="#+id/nav_profile"
android:icon="#drawable/ic_my_profile"
android:title="#string/nav_item_my_profile" />
</group>
<group android:checkableBehavior="single">
<item
android:id="#+id/nav_merge"
android:icon="#drawable/ic_merge_contact"
android:title="#string/nav_item_merge" />
<item
android:id="#+id/nav_export"
android:icon="#drawable/ic_merge_contact"
android:title="#string/nav_item_export" />
<item
android:id="#+id/nav_notifications"
android:icon="#drawable/ic_notifications"
android:title="#string/nav_item_notifications" />
</group>
<group android:checkableBehavior="single">
<item
android:id="#+id/nav_share"
android:icon="#drawable/ic_share_app"
android:title="#string/nav_item_share" />
<item
android:id="#+id/nav_rate"
android:icon="#drawable/ic_rate"
android:title="#string/nav_item_rate" />
</group>
<group android:checkableBehavior="single">
<item
android:id="#+id/nav_report"
android:icon="#drawable/ic_report"
android:title="#string/nav_item_report" />
<item
android:id="#+id/nav_faq"
android:icon="#drawable/ic_faq"
android:title="#string/nav_item_faq" />
<item
android:id="#+id/nav_about"
android:icon="#drawable/ic_about"
android:title="#string/nav_item_about" />
</group>
<group android:checkableBehavior="single">
<item
android:id="#+id/nav_logout"
android:icon="#drawable/ic_logout"
android:title="#string/nav_item_logout" />
</group>
</menu>
this is my navigationmenu.xml
my current Screen using given xml is below.
my expected screen is below i have all image i just want separate all item in group like given screen also i want set border and background with white please suggest me how to do this i am unable to do this i dont know how to achieve my expected screen is below

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.

changing icon of navigation drawer items

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.

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