Navigation Drawer in Android java

MainActivity.xml

<?xml version="1.0" encoding="utf-8"?>
<androidx.drawerlayout.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/drawer"
tools:context=".TabViewpager">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">


//ADD HEAR YOUR ACTIVITY CODE

<LinearLayout
android:layout_width="match_parent"
android:background="@color/black"
android:gravity="center_vertical"
android:padding="10dp"
android:layout_height="?actionBarSize">

<ImageView
android:layout_width="30dp"
android:layout_height="30dp"
android:id="@+id/menu_icon"
android:src="@drawable/ic_outline_settings_24"
android:tint="@color/white"/>

</LinearLayout>


<androidx.viewpager.widget.ViewPager
android:id="@+id/view_pager"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>


<com.google.android.material.navigation.NavigationView
android:layout_width="match_parent"
android:layout_gravity="start"
android:id="@+id/nav"
app:headerLayout="@layout/item_header"
app:menu="@menu/item_menu"
android:layout_height="match_parent"/>



</androidx.drawerlayout.widget.DrawerLayout>


item_menu.menu

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">


<item
android:id="@+id/home"
android:icon="@drawable/ic_outline_home_24"
android:title="Home" />


<item
android:id="@+id/home1"
android:icon="@drawable/ic_outline_home_24"
android:title="Home" />


<item
android:id="@+id/home2"
android:icon="@drawable/ic_outline_home_24"
android:title="Home" />


<item
android:id="@+id/home3"
android:icon="@drawable/ic_outline_home_24"
android:title="Home" />
</menu>


Header_item.xml

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

<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
android:src="@drawable/ic_launcher_background"/>

</LinearLayout>


MainActivity.java


public class TabViewpager extends AppCompatActivity {

private NavigationView nav;
private DrawerLayout drawer;
ImageView menu_icon;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tab_viewpager);


menu_icon=findViewById(R.id.menu_icon);
drawer=findViewById(R.id.drawer);
menu_icon.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
drawer.openDrawer(GravityCompat.START);
}
});

nav=findViewById(R.id.nav);
nav.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {

switch (item.getItemId())
{
case R.id.home:
Toast.makeText(TabViewpager.this, "Home", Toast.LENGTH_SHORT).show();
break;
}
return false;
}
});
}
}