6

I am begineer. I want to know , How to add a Item inside Navigation Drawer which icon will be add right side of Item Title.

Exactly I want to do like this picture.

see this

But how? I want to add item exactly like this Youtube Item.

This is Navigation Drawer Menu:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
      <item android:title="Social Links">
        <menu>
            <item
                android:id="@+id/nav_facebook"
                android:icon="@drawable/ic_menu_facebook"
                android:title="Facebook"
                />
            <item
                android:id="@+id/nav_youtube"
                android:icon="@drawable/ic_menu_youtube"
                android:title="Youtube"
                />
            <item
                android:id="@+id/nav_twitter"
                android:icon="@drawable/ic_menu_twitter"
                android:title="Twitter"
                />

        </menu>
    </item>

</menu>

I also attached this code in Manifest:

android:supportsRtl="true"
Phantômaxx
  • 37,901
  • 21
  • 84
  • 115
SabbirTT
  • 131
  • 1
  • 2
  • 8

2 Answers2

19

Under res layout folder, create a layout named menu_image.xml. This layout is used to render image next to YouTube label.

menu_image.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center_vertical"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="6dp"
        android:layout_height="6dp"
        android:background="@drawable/addyourimage"></LinearLayout>

</LinearLayout>

Activity:

 navigationView.getMenu().getItem(5).setActionView(R.layout.menu_image);

More Referencer

Gowthaman M
  • 8,057
  • 8
  • 35
  • 54
  • Hi, it's showing but how can I define my menuitem serial number? I used group there – SabbirTT Oct 26 '17 at 06:35
  • i am not getting what your saying...can explain little more – Gowthaman M Oct 26 '17 at 06:49
  • 1
    Thanks a lot. It's working. I just modified your code like me. See: ` NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); navigationView.setNavigationItemSelectedListener(this); // navigationView.getMenu().getItem(2).setActionView(R.layout.nav_menu_layout); Menu menuNav = navigationView.getMenu(); MenuItem facebookItem = menuNav.findItem(R.id.nav_facebook); facebookItem.setActionView(R.layout.nav_menu_layout); ` – SabbirTT Oct 26 '17 at 06:51
  • Can I add you on social media? Please. – SabbirTT Oct 26 '17 at 06:53
  • Thanks! It's work for me. – Dnyaneshwar Panchal Sep 07 '18 at 07:16
  • 1
    If it is not working for you try using ImageView instead of LinearLayout to display image. ;-) – Amos Chepchieng Jul 09 '19 at 09:36
-1

Create Customized Layout As per Your Reqiurement

and Use it as headelLayout in NavigationView

<android.support.design.widget.NavigationView
    android:id="@+id/nav_view"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:fitsSystemWindows="true"
    app:headerLayout="@layout/nav_header_main"
    app:menu="@menu/...." />
Mallikarjuna
  • 874
  • 6
  • 17